-
1. Re: With SSLBisocket is there is java.rmi.server.hostname or
thenelson Jan 8, 2009 6:14 PM (in response to thenelson)Okay, I'm stupid.. It's the multihome stuff that I need to use.
-
2. Re: With SSLBisocket is there is java.rmi.server.hostname or
thenelson Jan 13, 2009 5:39 PM (in response to thenelson)
Now I have a legitimate question:
I have a dual homed server with 10.12.2.8 and 10.12.2.50 as it's IP addresses. I create a bisocket connector with the following URI:
sslbisocket://multihome:7777/foobar/services?datatype=serializablehomes=10.12.2.50:7777!10.12.2.8:7777&serializationtype=jboss
and I get an Index exception:
java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at org.jboss.remoting.transport.bisocket.BisocketServerInvoker.start(BisocketServerInvoker.java:285)
at org.jboss.remoting.transport.Connector.start(Connector.java:340)
at com.rovingplanet.npe.server.NPEManager.remoteConnectorSetup(NPEManager.java:851)
at com.rovingplanet.npe.server.NPEManager.startService(NPEManager.java:929)
at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
It's looking through the secondary port list. If I add a connect_home then it works but I can only connect to the connect_home. If I add both IPs to the connect_home then I get the same exception. How can I make it able to connect to both IPs? What's with the secondary port list?
thanks,
Ian -
3. Re: With SSLBisocket is there is java.rmi.server.hostname or
ron_sigal Jan 13, 2009 11:52 PM (in response to thenelson)Hi Ian,
Haven't heard from you for a while. Hope that's a good sign. :)sslbisocket://multihome:7777/foobar/services?datatype=serializablehomes=10.12.2.50:7777!10.12.2.8:7777&serializationtype=jboss
If that's an exact copy, then you're just missing a '&' between "serializable" and "homes".
-Ron -
4. Re: With SSLBisocket is there is java.rmi.server.hostname or
thenelson Jan 14, 2009 10:59 AM (in response to thenelson)"ron.sigal@jboss.com" wrote:
Hi Ian,
Haven't heard from you for a while. Hope that's a good sign. :)
It is. Our product is coming along nicely.sslbisocket://multihome:7777/foobar/services?datatype=serializablehomes=10.12.2.50:7777!10.12.2.8:7777&serializationtype=jboss
If that's an exact copy, then you're just missing a '&' between "serializable" and "homes".
-Ron
I think it got mangled in the cut and paste. I used InvokerLocator to create the URI and it actually does have an ampersand in my logs.
This is with 2.5.0SP2. It creates sockets on both IP addresses but clients can only attach callback handlers to the one listed in connect_homes. If I put 2 IPs in connect home I get the index exception and if I don't use a connect homes I get the index exception. I've only glanced at it but it's trying to get a port from the secondary ports list. -
5. Re: With SSLBisocket is there is java.rmi.server.hostname or
ron_sigal Jan 14, 2009 7:52 PM (in response to thenelson)"TheNelson" wrote:
It is. Our product is coming along nicely.
That's great. We'd be happy to hear about your product and how you're using Remoting.
I'll get back to you about the "connecthomes" problem. -
6. Re: With SSLBisocket is there is java.rmi.server.hostname or
thenelson Jan 15, 2009 12:02 PM (in response to thenelson)I should be a little bit careful. I work for Tippingpoint and we make network security products. We're using remoting for communication between nodes in a distributed policy system, the remote nodes control firewalls and things like that and then the central node (now becoming a cluster) makes the policy decisions.
There was a bit of a learning curve, especially since I like to read docs after exhausting other resources, but it's been rock solid once we figured it all out. -
7. Re: With SSLBisocket is there is java.rmi.server.hostname or
ron_sigal Jan 15, 2009 7:59 PM (in response to thenelson)"theNelson" wrote:
it's been rock solid once we figured it all out.
Testimonial from an actual customer. :)
Thanks, Ian. I'm very happy it's working for you. And I'll pass your words on to Tom Elrod, the project's founder.
-Ron -
8. Re: With SSLBisocket is there is java.rmi.server.hostname or
ron_sigal Jan 20, 2009 2:01 AM (in response to thenelson)Hi Ian,
Well, I just ran a test with the InvokerLocatorsslbisocket://multihome:7777/foobar/services?datatype=serializable&homes=192.168.2.2:7777!10.11.12.119:7777&serializationtype=jboss
and didn't have any problems.
Looking at the code, in the absence of any explicit parameters, it should be the case that# of server sockets == # of homes == # of connect homes == # of secondary bind ports == # of secondary connect ports.
Could you run your code with TRACE logging for org.jboss.remoting and look for any related messages?TheNelson" wrote:
clients can only attach callback handlers to the one listed in connect_homes.
Just to be sure, note that the parameter should be "connecthomes"."TheNelson" wrote:
What's with the secondary port list?
The motivation for the bisocket transport was to allow the server to connect to the client without having a ServerSocket on the client. So, the bisocket client creates a "control" connection by connecting to a server side secondary ServerSocket bound to a secondary port, and, when, the server wants to get a socket connected to the client, it sends a request on the control connection, which causes the client to connect to the secondary ServerSocket to create the socket. OK so far? Two more points.
1. There's a secondary ServerSocket, each bound to a secondary bind host/port address, for each "primary" ServerSocket. The client asks for a list of secondary ServerSockets, and it can attempt to connect to any of them.
2. If there's a firewall between the client and the server, then the server should be configured with a"connecthomes" list. The BisocketServerInvoker will take the hosts from the "connecthomes" list, associate each host with a port from the "secondaryConnectPorts" list (or an anonymous port if there is no configured value for "secondaryConnectPorts"), and create a list of addresses for the client to use to create the control connection.
-Ron -
9. Re: With SSLBisocket is there is java.rmi.server.hostname or
thenelson Feb 17, 2009 4:20 PM (in response to thenelson)I haven't forgot this, I have just been tasked in a different direction. I'll recreate this this week.
Ian