NotSerializableException: org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl when trying to lookup IBM MQ Connection Factory in JBoss EAP 6
Issue
- Web Application failing to lookup IBM MQ Queue configured in JBoss EAP 6.x. The wmq.jmsra.rar is deployed and configured:
<subsystem xmlns="urn:jboss:domain:resource-adapters:1.1">
<resource-adapters>
<resource-adapter id="wmq.jmsra.rar">
<archive>wmq.jmsra.rar</archive>
...
<connection-definitions>
<connection-definition class-name="com.ibm.mq.connector.outbound.ManagedConnectionFactoryImpl" jndi-name="java:jboss/exported/jms/IbmConnectionFactory" use-java-context="true" pool-name="IbmConnectionFactory">
...
</connection-definition>
</connection-definitions>
<admin-objects>
<admin-object class-name="com.ibm.mq.connector.outbound.MQQueueProxy" jndi-name="java:jboss/exported/jms/IbmQueue" pool-name="IbmQueue">
...
</admin-object>
...
ERROR [org.jboss.naming.remote.protocol.v1.RemoteNamingStoreV1] (Remoting "config-based-naming-client-endpoint" task-13) org.jboss.remoting3.MessageCancelledException
ERROR [] (http-/10.0.0.1:8080-2) Error when processing approval transaction: org.jboss.naming.remote.protocol.NamingIOException: Failed to lookup [Root exception is java.io.NotSerializableException: org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl]
at org.jboss.naming.remote.client.ClientUtil.namingException(ClientUtil.java:49) [jboss-client.jar:7.4.3.Final-redhat-2]
at org.jboss.naming.remote.protocol.v1.Protocol$1.execute(Protocol.java:104) [jboss-client.jar:7.4.3.Final-redhat-2]
at org.jboss.naming.remote.protocol.v1.RemoteNamingStoreV1.lookup(RemoteNamingStoreV1.java:95) [jboss-client.jar:7.4.3.Final-redhat-2]
at org.jboss.naming.remote.client.HaRemoteNamingStore$1.operation(HaRemoteNamingStore.java:275) [jboss-client.jar:7.4.3.Final-redhat-2]
at org.jboss.naming.remote.client.HaRemoteNamingStore.namingOperation(HaRemoteNamingStore.java:137) [jboss-client.jar:7.4.3.Final-redhat-2]
at org.jboss.naming.remote.client.HaRemoteNamingStore.lookup(HaRemoteNamingStore.java:271) [jboss-client.jar:7.4.3.Final-redhat-2]
at org.jboss.naming.remote.client.RemoteContext.lookup(RemoteContext.java:79) [jboss-client.jar:7.4.3.Final-redhat-2]
at org.jboss.naming.remote.client.RemoteContext.lookup(RemoteContext.java:83) [jboss-client.jar:7.4.3.Final-redhat-2]
at javax.naming.InitialContext.lookup(InitialContext.java:417) [rt.jar:1.8.0_45]
at javax.naming.InitialContext.lookup(InitialContext.java:417) [rt.jar:1.8.0_45]
at com.redhat.examples.mq.client.MessageSender.sendMessage(MessageSender.java:15) [classes:]
...
Caused by: java.io.NotSerializableException: org.jboss.jca.core.connectionmanager.ccm.CachedConnectionManagerImpl
at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:860) [jboss-client.jar:7.4.3.Final-redhat-2]
at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1032) [jboss-client.jar:7.4.3.Final-redhat-2]
at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:988) [jboss-client.jar:7.4.3.Final-redhat-2]
at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:967) [jboss-client.jar:7.4.3.Final-redhat-2]
at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854) [jboss-client.jar:7.4.3.Final-redhat-2]
at org.jboss.marshalling.river.RiverMarshaller.doWriteFields(RiverMarshaller.java:1032) [jboss-client.jar:7.4.3.Final-redhat-2]
at org.jboss.marshalling.river.RiverMarshaller.doWriteSerializableObject(RiverMarshaller.java:988) [jboss-client.jar:7.4.3.Final-redhat-2]
at org.jboss.marshalling.river.RiverMarshaller.doWriteObject(RiverMarshaller.java:854) [jboss-client.jar:7.4.3.Final-redhat-2]
at org.jboss.marshalling.AbstractObjectOutput.writeObject(AbstractObjectOutput.java:58) [jboss-client.jar:7.4.3.Final-redhat-2]
at org.jboss.marshalling.AbstractMarshaller.writeObject(AbstractMarshaller.java:111) [jboss-client.jar:7.4.3.Final-redhat-2]
at org.jboss.naming.remote.protocol.v1.Protocol$1$2.write(Protocol.java:138) [jboss-client.jar:7.4.3.Final-redhat-2]
at org.jboss.naming.remote.protocol.v1.WriteUtil.write(WriteUtil.java:61) [jboss-client.jar:7.4.3.Final-redhat-2]
at org.jboss.naming.remote.protocol.v1.Protocol$1.handleServerMessage(Protocol.java:128) [jboss-client.jar:7.4.3.Final-redhat-2]
at org.jboss.naming.remote.protocol.v1.RemoteNamingServerV1$MessageReciever$1.run(RemoteNamingServerV1.java:73) [jboss-client.jar:7.4.3.Final-redhat-2]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_45]
... 1 more
Caused by: an exception which occurred:
in field cachedConnectionManager
in field theCM
in object com.ibm.mq.connector.outbound.ConnectionFactoryImpl@2c13a427
Environment
Red Hat JBoss Enterprise Application Platform (EAP) 6.x
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.