[jboss-jira] [JBoss JIRA] (WFLY-4259) ClassNotFound exception when connecting a remote HornetQ client over SSL

Jon Kranes (JIRA) issues at jboss.org
Fri Jan 16 16:18:49 EST 2015


     [ https://issues.jboss.org/browse/WFLY-4259?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jon Kranes updated WFLY-4259:
-----------------------------
    Steps to Reproduce: 
Configure Wildfly to use HornetQ messaging similar to the following:

        <subsystem xmlns="urn:jboss:domain:messaging:2.0">
            <hornetq-server>
                <security-enabled>false</security-enabled>
                <connectors>
                    <netty-connector name="netty-ssl-connector" socket-binding="https">
                        <param key="ssl-enabled" value="true"/>
                        <param key="trust-store-path" value="/foo/trust.jks"/>
                        <param key="trust-store-password" value="xxx"/>
                        <param key="key-store-path" value="/foo/key.jks"/>
                        <param key="key-store-password" value="xxx"/>
                        <param key="host" value="localhost"/>
                    </netty-connector>
                    <in-vm-connector name="in-vm" server-id="0"/>
                </connectors>

                <acceptors>
                    <netty-acceptor name="netty-ssl-acceptor" socket-binding="https">
                        <param key="ssl-enabled" value="true"/>
                        <param key="trust-store-path" value="/foo/trust.jks"/>
                        <param key="trust-store-password" value="xxx"/>
                        <param key="key-store-path" value="/foo/key.jks"/>
                        <param key="key-store-password" value="password"/>
                        <param key="host" value="localhost"/>
                    </netty-acceptor>
                    <in-vm-acceptor name="in-vm" server-id="0"/>
                </acceptors>

                <jms-connection-factories>
                    <connection-factory name="ConnectionFactory">
                        <connectors>
                            <connector-ref connector-name="netty-ssl-connector"/>
                        </connectors>
                        <entries>
                            <entry name="java:/jboss/exported/jms/ConnectionFactory"/>
                        </entries>
                    </connection-factory>
                    <pooled-connection-factory name="hornetq-ra">
                        <transaction mode="xa"/>
                        <connectors>
                            <connector-ref connector-name="in-vm"/>
                        </connectors>
                        <entries>
                            <entry name="java:jboss/DefaultJMSConnectionFactory"/>
                        </entries>
                    </pooled-connection-factory>
                </jms-connection-factories>
</hornetq-server>

Create a remote JMS client to connect to the server using the exported connection obtained from JNDI (using http-remoting).  When the client attempts to connect the server throws the ClassNotFound exception mentioned above and the connection fails.

  was:
Configure Wildfly to use HornetQ messaging similar to the following:

        <subsystem xmlns="urn:jboss:domain:messaging:2.0">
            <hornetq-server>
                <security-enabled>false</security-enabled>
                <connectors>
                    <netty-connector name="netty-ssl-connector" socket-binding="https">
                        <param key="ssl-enabled" value="true"/>
                        <param key="trust-store-path" value="/foo/trust.jks"/>
                        <param key="trust-store-password" value="xxx"/>
                        <param key="key-store-path" value="/foo/key.jks"/>
                        <param key="key-store-password" value="xxx"/>
                        <param key="host" value="localhost"/>
                    </netty-connector>
                    <in-vm-connector name="in-vm" server-id="0"/>
                </connectors>

                <acceptors>
                    <netty-acceptor name="netty-ssl-acceptor" socket-binding="https">
                        <param key="ssl-enabled" value="true"/>
                        <param key="trust-store-path" value="/foo/trust.jks"/>
                        <param key="trust-store-password" value="xxx"/>
                        <param key="key-store-path" value="/foo/key.jks"/>
                        <param key="key-store-password" value="password"/>
                        <param key="host" value="localhost"/>
                    </netty-acceptor>
                    <in-vm-acceptor name="in-vm" server-id="0"/>
                </acceptors>

                <jms-connection-factories>
                    <connection-factory name="ConnectionFactory">
                        <connectors>
                            <connector-ref connector-name="netty-ssl-connector"/>
                        </connectors>
                        <entries>
                            <entry name="java:/jboss/exported/jms/ConnectionFactory"/>
                        </entries>
                    </connection-factory>
                    <pooled-connection-factory name="hornetq-ra">
                        <transaction mode="xa"/>
                        <connectors>
                            <connector-ref connector-name="in-vm"/>
                        </connectors>
                        <entries>
                            <entry name="java:jboss/DefaultJMSConnectionFactory"/>
                        </entries>
                    </pooled-connection-factory>
                </jms-connection-factories>
</hornetq-server>

Create a remote JMS client to connect to the sever using the exported connection obtained from JNDI (using http-remoting).  When the client attempts to connect the server throws the ClassNotFound exception mentioned above and the connection fails.



> ClassNotFound exception when connecting a remote HornetQ client over SSL
> ------------------------------------------------------------------------
>
>                 Key: WFLY-4259
>                 URL: https://issues.jboss.org/browse/WFLY-4259
>             Project: WildFly
>          Issue Type: Bug
>          Components: JMS
>    Affects Versions: 8.1.0.Final, 8.2.0.Final
>            Reporter: Jon Kranes
>            Assignee: Jeff Mesnil
>
> When using HornetQ with a remote client connecting with SSL (using a netty-connector with ssl-enabled=true) the server throws an exception in ModuleClassLoader when the client attempts to connect.  The exception is:
> java.lang.ClassNotFoundException:  javax.net.SSLException
> After doing some investigation I was able to resolve this issue by adding a dependency in the io.netty module.xml file
> <dependencies>
>   <module name="javax.api"/>
> <dependencies
> Without this dependency, it appear that Netty is unable to load classes that it needs from javax.net.ssl.
> NOTE: adding this dependency resolves the issue in Wildfly 8.2.0.Final.  However, it does NOT resolve the issue in 8.1.0.Final.  Even after adding this dependency I still got the ClassNotFoundException.



--
This message was sent by Atlassian JIRA
(v6.3.11#6341)


More information about the jboss-jira mailing list