EAP6 is not able to load class javax.net.SocketFactory from custom module.

Solution Verified - Updated -

Issue

  • While running an application which uses a custom module, the following kind of exception is encountered:
12:32:38,583 WARN  [org.jboss.modules] (http-test.com/10.65.22.11:5454-1) Failed to define class aaa.bbb.ccc.TimedSocketFactory in Module "aaa.bbb.ccc:main" from local module loader @ea06a1 (roots: /allJBoss/EAP-6.0.1/jboss-eap-6.0/gsa_modules,/allJBoss/EAP-6.0.1/jboss-eap-6.0/modules): org.jboss.modules.ModuleLoadError: Module javax.net.SocketFactory:main is not found in local module loader @ea06a1 (roots: /allJBoss/EAP-6.0.1/jboss-eap-6.0/custom_modules,/allJBoss/EAP-6.0.1/jboss-eap-6.0/modules)
        at org.jboss.modules.ModuleLoadException.toError(ModuleLoadException.java:78)
        at org.jboss.modules.Module.getPathsUnchecked(Module.java:1191)
        at org.jboss.modules.Module.loadModuleClass(Module.java:522)
        at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:182)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
        at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
        at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.7.0_11]
        at java.lang.ClassLoader.defineClass(ClassLoader.java:791) [rt.jar:1.7.0_11]
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) [rt.jar:1.7.0_11]
        at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:327)
        at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:391)
        at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:243)
        at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:73)
        at org.jboss.modules.Module.loadModuleClass(Module.java:527)
        at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:182)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
        at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
        at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
        at java.lang.Class.forName0(Native Method) [rt.jar:1.7.0_11]
        at java.lang.Class.forName(Class.java:186) [rt.jar:1.7.0_11]
        at com.sybase.jdbc4.timedio.SocketDbio.<init>(Unknown Source)
        at com.sybase.jdbc4.timedio.Dbio.connect(Unknown Source)
        at com.sybase.jdbc4.timedio.InStreamMgr.<init>(Unknown Source)
        at com.sybase.jdbc4.tds.Tds.login(Unknown Source)
        at com.sybase.jdbc4.jdbc.SybConnection.a(Unknown Source)
        at com.sybase.jdbc4.jdbc.SybConnection.handleHAFailover(Unknown Source)
        at com.sybase.jdbc4.jdbc.SybConnection.<init>(Unknown Source)
        at com.sybase.jdbc4.jdbc.SybConnection.<init>(Unknown Source)
        at com.sybase.jdbc4.jdbc.SybDriver.connect(Unknown Source)
        at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getHALocalManagedConnection(LocalManagedConnectionFactory.java:302)
        at org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:236)
        at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.createConnectionEventListener(SemaphoreArrayListManagedConnectionPool.java:775)
        at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreArrayListManagedConnectionPool.getConnection(SemaphoreArrayListManagedConnectionPool.java:345)
        at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getSimpleConnection(AbstractPool.java:397)
        at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getConnection(AbstractPool.java:365)
        at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:329)
        at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.getManagedConnection(TxConnectionManagerImpl.java:368)
        at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:464)
        at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:139)
  • The custom module has the following entry mentioned in the "module.xml" file:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="test.custom.sockets">
        <resources>
                <resource-root path="testSocketFactory.jar"/>
        </resources>
        <dependencies>
                <module name="com.sybase"/>
                <module name="org.apache.log4j"/>
        </dependencies>
</module>

Environment

  • JBoss Enterprise Application Platform (EAP)
    • 6.x

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content