[jboss-user] [Messaging, JMS & JBossMQ] - Is JMSProviderLoader backward compatible with JMS 1.0?

stitcher do-not-reply at jboss.com
Fri Jun 22 11:07:22 EDT 2007


What can I see from the documentation, JMSProviderLoader has three parameters, among others:

#  FactoryRef - the jndi binding of the javax.jms.ConnectionFactory within the jndi context (jboss4/jms1.1 only)
# QueueFactoryRef - the jndi binding of the javax.jms.QueueConnectionFactory within the jndi context
# TopicFactoryRef - the jndi binding of the javax.jms.TopicConnectionFactory within the jndi context 

http://www.jboss.org/wiki/Wiki.jsp?page=ConfigJMSProvider

But in reality, it tries to use domain specific factories to create common sessions, which gives java.lang.AbstractMethodError, because jms 1.0 classes are kinda different from jms 1.1 classes. Shouldn't it be backward compatible?

I'm using JBoss 4.2.0 and my external JMS server is JMS 1.0 implementation. The vendor, SeeBeyond, doesn't have a library to connect to JBoss. Is there any way to integrate both without much of a hassle?

I've found another topic on the subject, but they are ended up using vendor's library.

http://www.jboss.com/index.html?module=bb&op=viewtopic&t=92925

Here's the stacktrace from what I've got so far:


  | 15:01:25,622 INFO  [JmsActivation] Attempting to reconnect org.jboss.resource.adapter.jms.inflow.JmsActivationSpec at ebc2a2(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter at 1ca3f82 destination=external/icandev/jndi-mytopic isTopic=true tx=true durable=false reconnect=10 provider=java:/RemoteJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=false)
  | 15:01:25,622 DEBUG [JmsActivation] Setting up org.jboss.resource.adapter.jms.inflow.JmsActivationSpec at ebc2a2(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter at 1ca3f82 destination=external/icandev/jndi-mytopic isTopic=true tx=true durable=false reconnect=10 provider=java:/RemoteJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=false)
  | 15:01:25,622 DEBUG [JmsActivation] Retrieving the jms provider adapter java:/RemoteJMSProvider for org.jboss.resource.adapter.jms.inflow.JmsActivation at 10cface(spec=org.jboss.resource.adapter.jms.inflow.JmsActivationSpec at ebc2a2 mepf=org.jboss.ejb3.mdb.inflow.JBossMessageEndpointFactory at 1262a85 active=false destination=Topic[etNotifier] pool=org.jboss.resource.adapter.jms.inflow.JmsServerSessionPool at 1eb18de transacted=true)
  | 15:01:25,622 DEBUG [JmsActivation] Using jms provider adapter org.jboss.jms.jndi.JNDIProviderAdapter at 2d2da4 for org.jboss.resource.adapter.jms.inflow.JmsActivation at 10cface(spec=org.jboss.resource.adapter.jms.inflow.JmsActivationSpec at ebc2a2 mepf=org.jboss.ejb3.mdb.inflow.JBossMessageEndpointFactory at 1262a85 active=false destination=Topic[etNotifier] pool=org.jboss.resource.adapter.jms.inflow.JmsServerSessionPool at 1eb18de transacted=true)
  | 15:01:25,637 DEBUG [JmsActivation] Using context {java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces:org.jboss.naming:org.jnp.interfaces} for org.jboss.resource.adapter.jms.inflow.JmsActivationSpec at ebc2a2(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter at 1ca3f82 destination=external/icandev/jndi-mytopic isTopic=true tx=true durable=false reconnect=10 provider=java:/RemoteJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=false)
  | 15:01:25,637 DEBUG [JmsActivation] Setup DLQ org.jboss.resource.adapter.jms.inflow.JmsActivation at 10cface(spec=org.jboss.resource.adapter.jms.inflow.JmsActivationSpec at ebc2a2 mepf=org.jboss.ejb3.mdb.inflow.JBossMessageEndpointFactory at 1262a85 active=false destination=Topic[etNotifier] pool=org.jboss.resource.adapter.jms.inflow.JmsServerSessionPool at 1eb18de transacted=true)
  | 15:01:25,637 DEBUG [JmsActivation] Retrieving destination external/icandev/jndi-mytopic of type javax.jms.Topic
  | 15:01:25,637 DEBUG [JmsActivation] Got destination Topic[etNotifier] from external/icandev/jndi-mytopic
  | 15:01:25,637 DEBUG [JmsActivation] setup connection org.jboss.resource.adapter.jms.inflow.JmsActivation at 10cface(spec=org.jboss.resource.adapter.jms.inflow.JmsActivationSpec at ebc2a2 mepf=org.jboss.ejb3.mdb.inflow.JBossMessageEndpointFactory at 1262a85 active=false destination=Topic[etNotifier] pool=org.jboss.resource.adapter.jms.inflow.JmsServerSessionPool at 1eb18de transacted=true)
  | 15:01:25,637 DEBUG [JmsActivation] Attempting to lookup topic connection factory external/icandev/jms/connectionfactory/topic/lhDevEHIT_iqmDevEHIT
  | 15:01:25,637 DEBUG [JmsActivation] Got topic connection factory STCConnectionFactory: icanqa.acme.org:19549 from external/icandev/jms/connectionfactory/topic/lhDevEHIT_iqmDevEHIT
  | 15:01:25,637 DEBUG [JmsActivation] Attempting to create topic connection with user null
  | 15:01:25,637 DEBUG [JmsActivation] Using topic connection com.stc.jms.client.STCTopicConnection at 278a47
  | 15:01:25,637 DEBUG [JmsActivation] established connection org.jboss.resource.adapter.jms.inflow.JmsActivation at 10cface(spec=org.jboss.resource.adapter.jms.inflow.JmsActivationSpec at ebc2a2 mepf=org.jboss.ejb3.mdb.inflow.JBossMessageEndpointFactory at 1262a85 active=false destination=Topic[etNotifier] connection=com.stc.jms.client.STCTopicConnection at 278a47 pool=org.jboss.resource.adapter.jms.inflow.JmsServerSessionPool at 1eb18de transacted=true)
  | 15:01:25,653 DEBUG [JmsActivation] Created session pool org.jboss.resource.adapter.jms.inflow.JmsServerSessionPool at 1e74fe9
  | 15:01:25,653 DEBUG [JmsActivation] Starting session pool org.jboss.resource.adapter.jms.inflow.JmsServerSessionPool at 1e74fe9
  | 15:01:25,653 ERROR [JmsActivation] Unable to reconnect org.jboss.resource.adapter.jms.inflow.JmsActivationSpec at ebc2a2(ra=org.jboss.resource.adapter.jms.JmsResourceAdapter at 1ca3f82 destination=external/icandev/jndi-mytopic isTopic=true tx=true durable=false reconnect=10 provider=java:/RemoteJMSProvider user=null maxMessages=1 minSession=1 maxSession=15 keepAlive=60000 useDLQ=false)
  | java.lang.AbstractMethodError: com.stc.jms.client.STCTopicConnection.createSession(ZI)Ljavax/jms/Session;
  | 	at org.jboss.resource.adapter.jms.inflow.JmsServerSession.setup(JmsServerSession.java:115)
  | 	at org.jboss.resource.adapter.jms.inflow.JmsServerSessionPool.setupSessions(JmsServerSessionPool.java:200)
  | 	at org.jboss.resource.adapter.jms.inflow.JmsServerSessionPool.start(JmsServerSessionPool.java:90)
  | 	at org.jboss.resource.adapter.jms.inflow.JmsActivation.setupSessionPool(JmsActivation.java:536)
  | 	at org.jboss.resource.adapter.jms.inflow.JmsActivation.setup(JmsActivation.java:309)
  | 	at org.jboss.resource.adapter.jms.inflow.JmsActivation.handleFailure(JmsActivation.java:249)
  | 	at org.jboss.resource.adapter.jms.inflow.JmsActivation$SetupActivation.run(JmsActivation.java:589)
  | 	at org.jboss.resource.work.WorkWrapper.execute(WorkWrapper.java:204)
  | 	at org.jboss.util.threadpool.BasicTaskWrapper.run(BasicTaskWrapper.java:275)
  | 	at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
  | 	at java.lang.Thread.run(Thread.java:595)

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4056924#4056924

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4056924



More information about the jboss-user mailing list