Problem accessing JBOSS 5 server from remote clients on different subnets.
shailt Jul 21, 2010 2:01 AMHi,
I am migrating my appllication from JBoss 4.2.2.GA server to Jboss 5.1.0.GA.
In the application, we employ Java Messaging Services (JMS), for dynamically updating/refreshing information on the GUI.
Everything seems to be working fine on the local machine as well as remote clients accessing the server but on the same subnet. The issue arises with clients(remote) on a different subnet accessing the server.
E.g. A client with IP 192.168.0.20 accessing the JBoss server machine with IP 192.168.20.20
The application launches successfully but the dynamic refresh of information does not happen. Java console logs show errors in setting up of JMS connection.
Jul 19, 2010 7:09:55 PM com.panduit.acmnms.gui.framework.CommonRegistry setupSubscriber
SEVERE: Error setting up JMS connection,
java.lang.RuntimeException: Failed to download and/or install client side AOP stack
java.lang.NullPointerException
at com.panduit.acmnms.gui.framework.CommonFrame.subscribe(CommonFrame.java:1158)
at com.panduit.acmnms.gui.framework.CommonFrame.<init>(CommonFrame.java:222)
at com.panduit.acmnms.gui.ACMNMSMainFrame.<init>(ACMNMSMainFrame.java:170)
at com.panduit.acmnms.gui.ACMNMSMainFrame.getInstance(ACMNMSMainFrame.java:224)
at com.panduit.acmnms.gui.UIACMMainApplication$2.run(UIACMMainApplication.java:342)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at foxtrot.pumps.SunJDK14ConditionalEventPump.pumpEvents(SunJDK14ConditionalEventPump.java:163)
at foxtrot.Worker.post(Worker.java:104)
at com.panduit.acmnms.gui.framework.ACMServletCommunicator.sendRequestToServer(ACMServletCommunicator.java:120)
at com.panduit.acmnms.gui.UIACMMainApplication.loadCADLayerInitialDetails(UIACMMainApplication.java:394)
at com.panduit.acmnms.gui.ACMLoginScreen.processLoginSucess(ACMLoginScreen.java:691)
at com.panduit.acmnms.gui.ACMLoginScreen.performAction(ACMLoginScreen.java:1192)
at com.panduit.acmnms.gui.framework.EventHandler.actionPerformed(EventHandler.java:333)
at javax.swing.JTextField.fireActionPerformed(Unknown Source)
at javax.swing.JTextField.postActionEvent(Unknown Source)
at javax.swing.JTextField$NotifyAction.actionPerformed(Unknown Source)
at javax.swing.SwingUtilities.notifyAction(Unknown Source)
at javax.swing.JComponent.processKeyBinding(Unknown Source)
at javax.swing.JComponent.processKeyBindings(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
My Jndi.prop and JBoss.prop files are as follows:
Jndi.prop:
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=jnp://localhost:10990
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
JBoss.prop:
JBOSS.NAMING.PORT=10990
JBOSS.NAMING.RMIPORT=10980
JBOSS.INVOKER.RMIOBJECTPORT=4444
JBOSS.INVOKER.SERVERBINDPORT=4445
JBOSS.CONNECTOR.SERVERBINDPORT=4446
We had encountered similar problems on JBoss 4.2.2.GA version but setting up the following property it got solved.
-Djava.rmi.server.hostname=<SERVER_IP_ADDRESS>
This does not seem to work with JBoss 5.
I start my application server using the following command:
"%JAVA%" %JAVA_OPTS% "-Djava.endorsed.dirs=%JBOSS_ENDORSED_DIRS%" -classpath "%JBOSS_CLASSPATH%" org.jboss.Main -c pvng -b 0.0.0.0 -P "%JBOSS_HOME%\server\pvng\conf\jboss.properties" %*
Ours is a networking based project and hence accessing the server from remote clients on different subnets is imperative.
Can anyone please suggest a solution for this or atleast some workaround? Any help is highly appreciated.
Thanks in advance
Shail Tawde