Hi ActiveMq'ers
I have been trying to hook ActiveMq 4.0.1 into WebSphere 5.1.1. After I
install the RAR and the Custom JMS provider, I configure the MDB listener
and I get this exception :
Helpers W NMSV0605W: A Reference object looked up from the context
"localhost/nodes/localhost/servers/server1" with the name
"jms/ActiveMqNonPersistentQueue" was sent to the JNDI Naming Manager and
an exception resulted. Reference data follows:
Reference Factory Class Name:
com.ibm.ws.naming.util.IndirectJndiLookupObjectFactory
Reference Factory Class Location URLs: <null>
Reference Class Name: javax.jms.Topic
Type: JndiLookupInfo
Content: JndiLookupInfo: jndiName="ActiveMqNonPersistentQueue";
providerURL="tcp://localhost:61616";
initialContextFactory="org.apache.activemq.jndi.ActiveMQWASInitialContextFactory"
Address Type: IndirectJndiLookupAdditionalProperties
AddressContents: ffffffac ffffffed 0 5 73 72 0 14 6a 61 76 61 2e 75 74 69
6c 2e 50 72 6f 70 65 72 74 69 65 73 39 12 ffffffd0 7a ...
Exception data follows:
javax.naming.NameNotFoundException: ActiveMqNonPersistentQueue
at
org.apache.activemq.jndi.ReadOnlyContext.lookup(ReadOnlyContext.java:214)
at javax.naming.InitialContext.lookup(InitialContext.java:360)
at
com.ibm.ws.naming.util.IndirectJndiLookupObjectFactory$1.run(IndirectJndiLookupObjectFactory.java:375)
at
com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:111)
at
com.ibm.ws.naming.util.IndirectJndiLookupObjectFactory.getObjectInstanceExt(IndirectJndiLookupObjectFactory.java:221)
...................................etc etc
I have configured the ActiveMq Provider as follows via the WS admin
console;
Resources > Generic JMS Providers > New
Details: Name = ActiveMqJMS
Classpath =
D:/work/tda/jms/Standalone JMS/lib/activemq-core-4.0.1.jar
D:/work/tda/jms/Standalone JMS/lib/geronimo-jms_1.1_spec-1.0.jar
D:/work/tda/jms/Standalone
JMS/lib/geronimo-j2ee-management_1.0_spec-1.0.jar
D:/work/tda/jms/Standalone JMS/lib/backport-util-concurrent-2.1.jar
D:/work/tda/jms/Standalone JMS/lib/activeio-core-3.0-beta3.jar
D:/work/tda/jms/Standalone JMS/lib/commons-logging-1.0.4.jar
D:/work/tda/jms/Standalone JMS/lib/mx4j-2.1.1.jar
D:/work/tda/jms/Standalone JMS/lib/optional/mx4j-remote-2.1.1.jar
D:/work/tda/jms/Standalone JMS/lib/optional/derby-10.1.1.0.jar
D:/work/tda/jms/Standalone JMS/config
External Initial Context Factor =
org.apache.activemq.jndi.ActiveMQWASInitialContextFactory
External Provider URL =
tcp://localhost:61616
Resources > Generic JMS Providers > ActiveMq > JMS Destinations > New
Details: Name = ActiveMqNonPersistentQueue
Type = Queue
JNDI Name =
jms/ActiveMqNonPersistentQueue
External JNDI Name =
jms/ActiveMqNonPersistentQueue
Resources > Generic JMS Providers > ActiveMq > JMS Conntion Factories >
New
Details: Name =
ActiveMqQueueConnectionFactory
Type = Queue
JNDI Name =
jms/ActiveMqQueueConnectionFactory
External JNDI Name =
jms/ActiveMqQueueConnectionFactory
Resources > Generic JMS Providers > ActiveMq > Custom Properties > New
Details:
java.naming.queue.ActivemqNonPersistentQueue =
jms/ActivemqNonPersistentQueue
java.naming.connectionFactoryNames
= jms/ActiveMqQueueConnectionFactory
I created the MDB Listener via:
Servers > Application Servers > server1 > Message Listener Service >
Listener Ports > New
Details : Name = ActiveMqLsntr
Connection Factory JNDI Name =
jms/ActiveMqQueueConntionFactory
Destination JNDI Name =
jms/ActiveMqNonPersistentQueue
Co-incidently the indirect jndi lookup for the connection factory works
via a client looking up WS for the ActiveMq connection factory
I have tried jndi lookup direct to activeMq's jndi tree and it works fine,
i guess it has to be the jndi bridge from webshpere to activeMq.
Much help appreciated ;),
cheers
--ph