Hi
Some months ago, accessing JBoss behind a firewall was only possible by hardcoding an annotation in all beans containing the public ip.
As promised, it should work with JBoss 4.0.3RC2 - but it doesnt. JBoss still gives its internal ip to the client, even if the server has been started with
-Djava.rmi.server.hostname=<outside-ip>
-Djava.rmi.server.useLocalHostname=false
and has been configured in server\default\deploy\ejb3.deployer\META-INF\jboss-service.xml:
<attribute name="Configuration"> <config> <invoker transport="socket"> <attribute name="numAcceptThreads">1</attribute> <attribute name="maxPoolSize">303</attribute> <attribute name="clientMaxPoolSize">304</attribute> <attribute name="socketTimeout">10000</attribute> <attribute name="serverBindAddress">internal-ip</attribute> <attribute name="serverBindPort">3873</attribute> <attribute name="clientConnectAddress">public-ip</attribute> <attribute name="clientConnectPort">3873</attribute> <attribute name="enableTcpNoDelay" isParam="true">false</attribute> <attribute name="backlog">200</attribute> </invoker> <handlers> <!--handler subsystem="mock">org.jboss.remoting.transport.mock.MockServerInvocationHandler</handler--> <handler subsystem="AOP">org.jboss.aspects.remoting.AOPRemotingInvocationHandler</handler> </handlers> </config> </attribute>
http://jira.jboss.com/jira/browse/EJBTHREE-204 was the issue for this.