[jboss-jira] [JBoss JIRA] Assigned: (JBMESSAGING-1020) JBM 1.0 series (SP4 and higher) need to be able to dynamically detect a valid client-side IP interface
Ovidiu Feodorov (JIRA)
jira-events at lists.jboss.org
Tue Jul 31 02:26:57 EDT 2007
[ http://jira.jboss.com/jira/browse/JBMESSAGING-1020?page=all ]
Ovidiu Feodorov reassigned JBMESSAGING-1020:
--------------------------------------------
Assignee: Ovidiu Feodorov (was: Tim Fox)
> JBM 1.0 series (SP4 and higher) need to be able to dynamically detect a valid client-side IP interface
> ------------------------------------------------------------------------------------------------------
>
> Key: JBMESSAGING-1020
> URL: http://jira.jboss.com/jira/browse/JBMESSAGING-1020
> Project: JBoss Messaging
> Issue Type: Patch
> Components: JMS Remoting
> Affects Versions: 1.0.1.SP4
> Reporter: Ovidiu Feodorov
> Assigned To: Ovidiu Feodorov
> Attachments: JBMESSAGING-1020.patch
>
>
> JBM 1.0 series uses a client-side remoting callback server to accept server-to-client TCP connections. This connections are used by the JBM server to asynchronously send messages to the client. However, for multi-homed clients, there are situations when the client sends an incorrect IP address: InetAddress.getLocalHost().getHostAddress() returns a different IP address than one that is visible from the server side.
> The documentation suggest using "jboss.messaging.callback.bind.address" system property to force an IP address. This approach is not satisfactory, as IP addresses on client machines change upon reboot. The overhead of changing static configuration for each reboot is unacceptable.
> The problem stems from the fact that InetAddress.getLocalHost(), which is used by the Messaging code as default callback server address, may not be reachable from the JMS server, depending on the routing configuration.
> The patch uses the assumption that once the direct client-to-server TCP/IP connection is established, the client-side local address of that connection can be reached reached from the server. To get that IP address back to the client, the Remoting protocol should be modified to support a new primitive ("$GET_CLIENT_LOCAL_ADDRESS"), which is only handled by socket transports and ignored by others.
> The Messaging client sends an invocation containing this primitive immediately after connection is established. If the invocation returns a non-null result, the Messaging client will use that IP address (presumably one of its own local interfaces) to configure the callback server.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list