Based on this thread, https://community.jboss.org/thread/201170 it looks like you should be able to use something like this, but I'm still seeing the client trying to connect to the bind ip when using the following
<socket-binding name="messaging" port="5445"> | ||
<client-mapping destination-address="123.123.123.123"/> | ||
</socket-binding> |
Uising the following in your standalone-full.xml appears to work around the issue under 7.1.3.Final
<hornetq-server>
...
<connectors>
<!-- <netty-connector name="netty" socket-binding="messaging"/> -->
<connector name="netty">
<factory-class>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory</factory-class>
<param key="host" value="myserver.example.com"/>
<param key="port" value="5445"/>
</connector>
<netty-connector name="netty-throughput" socket-binding="messaging-throughput">
<param key="batch-delay" value="50"/>
</netty-connector>
<in-vm-connector name="in-vm" server-id="0"/>
</connectors>
I'm not sure what issue you're trying to "work around." The configuration you're using is simply what you must do in order for your JMS clients to work in a NAT scenario. If you don't explicitly configure the connector then it will default to the address where you've bound the server.
The comments in the other thread said the new client-mapping stuff is the offical way to manage the what host/ip clients should use to connect as part of the binding details, but this was not working for me, so the "work around" was to replace the connector named "netty" with a new one, with the extra params, rather than being able to add the extra options to the binding as jaikiran pai advised