-
Bug
-
Resolution: Done
-
Major
-
JBossAS-4.0.4.GA
-
None
-
Low
-
The ClientSocketFactory.log static member field is incorrectly initialized using DomainSocketFactory.class as seen in the source of version 1.6 of ClientSocketFactory in 4.0.4 GA
private static Logger log = Logger.getLogger(DomainSocketFactory.class);
This is causing the exception mentioned at the end of this description when connecting a jms client to the server using ssl because the jbosssx-client.jar does not include the DomainSocketFactory class.
The fix for this is to initialize the logger using the ClientSocketFactory class as follows:
private static Logger log = Logger.getLogger(ClientSocketFactory.class);
Once I made this change, and rebuilt the jbosssx-client.jar, my client was able to connect properly.
Caused by: java.lang.NoClassDefFoundError
at org.jboss.security.ssl.ClientSocketFactory.class$(ClientSocketFactory.java:51)
at org.jboss.security.ssl.ClientSocketFactory.<clinit>(ClientSocketFactory.java:51)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:308)
at java.lang.Class.newInstance(Class.java:261)
at org.jboss.mq.il.uil2.UILServerIL.createConnection(UILServerIL.java:596)
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)
... 11 more
Caused by: java.lang.ClassNotFoundException: org.jboss.security.ssl.DomainSocketFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
... 23 more