[
https://jira.jboss.org/jira/browse/JBREM-1164?page=com.atlassian.jira.plu...
]
Ron Sigal commented on JBREM-1164:
----------------------------------
There are two ways InvokerLocators are created in the Application Server environment:
1. An InvokerLocator can be constructed from the pieces specified in an XML file.
(a) For JBossMessaging, the InvokerLocator is created from an MBean configuration in
remoting-bisocket-service.xml:
<invoker transport="bisocket">
...
<attribute
name="serverBindAddress">${jboss.bind.address}</attribute>
<attribute
name="serverBindPort">${jboss.messaging.connector.bisocket.port:4457}</attribute>
...
(b) For EJB2s, the InvokerLocator is created from a ServerConfiguration POJO in
remoting-jboss-beans.xml:
<property name="invokerLocatorParameters">
<map keyClass="java.lang.String"
valueClass="java.lang.String">
<entry>
<key>serverBindAddress</key>
<value>
<value-factory bean="ServiceBindingManager"
method="getStringBinding">
<parameter>UnifiedInvokerConnector</parameter>
<parameter>${host}</parameter>
</value-factory>
</value>
</entry>
<entry>
<key>serverBindPort</key>
<value>
<value-factory bean="ServiceBindingManager"
method="getStringBinding">
<parameter>UnifiedInvokerConnector</parameter>
<parameter>${port}</parameter>
</value-factory>
</value>
</entry>
In each of these cases, the InvokerLocator is assembled by the
org.jboss.remoting.transport.Connector being configured, and it would be easy to test for
an IPv6 address and add brackets as appropriate.
2. An InvokerLocator can be specified explicitly and injected into the Connector. EJB3
does that in ejb3-connectors-jboss-beans.xml:
<value-factory bean="ServiceBindingManager"
method="getStringBinding">
<parameter>
jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3
</parameter>
<parameter>
<null />
</parameter>
<parameter>socket://${jboss.bind.address}:${port}</parameter>
<parameter>
<null />
</parameter>
<parameter>3873</parameter>
</value-factory>
If the value of ${jboss.bind.address} is an IPv6 address, then the resulting
InvokerLocator will be ill-formed; e.g., socket://::127.0.0.1:3873.
In this case, Connector could check for the presence of more than one ":" in the
"host/port" part, and, if there are more than one ":", then it could
treat the last ":" delimited field as the port, the rest as the host, and add
brackets accordingly.
Richard, what do you think?
Remoting shouldn't require IPv6 addresses to be surrounded by
brackets
----------------------------------------------------------------------
Key: JBREM-1164
URL:
https://jira.jboss.org/jira/browse/JBREM-1164
Project: JBoss Remoting
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 2.5.2 (Flounder)
Reporter: Ron Sigal
Assignee: Ron Sigal
Fix For: 2.5.2.SP1 (Flounder)
Although IPv6 addresses are surrounded by brackets in URLs, the addresses themselves
don't have brackets. Thus, it should be possible to start the Application Server
with
run.sh -b ::1
instead of requiring
run.sh -b [::1]
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira