1 Reply Latest reply on May 8, 2007 10:25 AM by nickdegraeve

    JBoss behind firewall & JMS issues

    nickdegraeve

      We have a JBoss server on a machine on the local LAN and it is separated from the Internet by a router/firewall.
      On the router following ports are forwarded to the IP address of the JBoss server: 1098, 1099, 4444, 8080 & 8093.

      When our client application tries to create a topic connection it times out.

      Any idea on what is configured incorrectly?


      Stacktrace:

      com.fpc.nokeos.core.common.exceptions.NokeosRuntimeException: Er is een systeem fout opgetreden.<br>Gelieve de NoKeossysteemadministrator te contacteren.
       at com.fpc.nokeos.core.common.jms.ConnectionFactory.<clinit>(ConnectionFactory.java:34)
       ... 14 more
      Caused by: org.jboss.mq.SpyJMSException: Cannot authenticate user; - nested throwable: (java.net.ConnectException : Connection timed out: connect)
       at org.jboss.mq.SpyJMSException.getAsJMSException(SpyJMSException.java:78)
       at org.jboss.mq.SpyJMSException.rethrowAsJMSException(SpyJMSException.java:63)
       at org.jboss.mq.Connection.authenticate (Connection.java:1069)
       at org.jboss.mq.Connection.<init>(Connection.java:252)
       at org.jboss.mq.Connection.<init>(Connection.java:323)
       at org.jboss.mq.SpyConnection.<init>(SpyConnection.java :116)
       at org.jboss.mq.SpyConnectionFactory.internalCreateConnection(SpyConnectionFactory.java:137)
       at org.jboss.mq.SpyConnectionFactory.createTopicConnection(SpyConnectionFactory.java:118)
       at com.fpc.nokeos.core.common.jms.ConnectionFactory .<clinit>(ConnectionFactory.java:31)
       ... 14 more
      Caused by: java.net.ConnectException: Connection timed out: connect
       at java.net.PlainSocketImpl.socketConnect(Native Method)
       at java.net.PlainSocketImpl.doConnect (Unknown Source)
       at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
       at java.net.PlainSocketImpl.connect(Unknown Source)
       at java.net.SocksSocketImpl.connect(Unknown Source)
       at java.net.Socket.connect (Unknown Source)
       at java.net.Socket.connect(Unknown Source)
       at java.net.Socket.<init>(Unknown Source)
       at java.net.Socket.<init>(Unknown Source)
       at javax.net.DefaultSocketFactory.createSocket (Unknown Source)
       at org.jboss.mq.il.uil2.UILServerIL.createConnection(UILServerIL.java:670)
       at org.jboss.mq.il.uil2.UILServerIL.getSocketMgr(UILServerIL.java:558)
       at org.jboss.mq.il.uil2.UILServerIL.authenticate (UILServerIL.java:360)
       at org.jboss.mq.Connection.authenticate(Connection.java:1065)
       ... 20 more

      The code fragment where the exception occurs:
      20 public class ConnectionFactory {
      21
      22
      23 private static Context jndiContext;
      24 private static TopicConnectionFactory topicConnFactory;
      25 private static TopicConnection topicConnection;
      26
      27 static {
      28 try {
      29 jndiContext = new InitialContext();
      30 topicConnFactory = (TopicConnectionFactory) jndiContext.lookup(NokeosConstants.TOPICCONNFAC);
      31 topicConnection = topicConnFactory.createTopicConnection();
      32 topicConnection.start();
      33 } catch (Throwable t) {
      34 throw new NokeosRuntimeException(ExceptionId.SYSTEM_ERROR, ExceptionSeverity.ERROR, t, (Object[]) null);
      35 }
      36 }


        • 1. Re: JBoss behind firewall & JMS issues
          nickdegraeve

          Resolved it myself.

          I came across the Wiki page http://wiki.jboss.org/wiki/Wiki.jsp?page=ConfigUIL2 where it said in the section "JMS client properties for the UIL2 transport":

          org.jboss.mq.il.uil2.serverAddr: This system property allows a client to override the address to which it attempts to connect to. This is useful for networks where NAT is ocurring between the client and JMS server.

          So adding following to my JNLP file fixed it:
          <property name="org.jboss.mq.il.uil2.serverAddr" value="mail.fpc.be"/>