my my my you're hot...

I can't even finish the mail and I blow a fuse :(

Let us know if you find a bug,

marcf

|-----Original Message-----
|From: [EMAIL PROTECTED]
|[mailto:[EMAIL PROTECTED]]On Behalf Of Jason Dillon
|Sent: Wednesday, June 20, 2001 8:59 PM
|To: [EMAIL PROTECTED]
|Cc: [EMAIL PROTECTED]
|Subject: [JBoss-user] Distributed MDB & JMS resouces inside of beans
|
|
|Hey, I have been trying to figure this out for a few days now and I keep
|running into walls.  I have a distributed system that uses JMS for
|communication, using a centralized router (all running on JBoss with
|JBossMQ).
|
|I was able to get everything working using an ExternalContext, to
|map in the
|namespace of the remote router, but that is less than perfect.  I
|started to
|change over to the JmsXA adapter, but I am running into some odd problems.
|
|An overly simplified view of the system looks like this, showing three
|seperate pyshical machines: web server, manager node and router.  The
|current architecture assumes a hub-spoke model for using JMS resources, so
|that all machines that actually make use of the JMS resources are remote,
|there are not MDB's running on the router.
|
|                      RMI
|  [ web server ] +-----------+ [ manager node ]
|                                   |       |
|                         (SessionBean)   (MDB)
|                           |               |
|                   JMS Queue Resource      |
|                                 \        /
|                                   \    /
|                                 [ router ]
|                                     ||
|                                (real queues)
|
|I installed the resource adapter, which seems to like to be deployed rather
|than having a mbean entry added in jboss.jcml, which I basically
|copied from
|the main branch conf/default files.
|
|The manager has a JMSProviderLoader installed which is using a remote
|<hostname>:<port> url to the router, and has the default session
|pool stuff.
|I think that the MDB bits work fine.  I do not *think* that I had to change
|anything to get that to work, the problem I am running into is with JMS
|resources.
|
|Per your change note, I changed the res-jndi-name to from the external
|context path to java:JmsXA.  But I also had to use url's to get the
|destinations to work.  So I ended up with something like this:
|
| <resource-managers>
|    <resource-manager>
|      <res-name>QueueConnectionFactory</res-name>
|      <res-jndi-name>java:/JmsXA</res-jndi-name>
|    </resource-manager>
|
|    <resource-manager>
|      <res-name>WorkRequestQueue</res-name>
|       <res-url>jnp://router:5001/queue/WorkRequestQueue</res-url>
|    </resource-manager>
|
|    <resource-manager>
|      <res-name>WorkResponseQueue</res-name>
|      <res-url>jnp://router:5001/queue/WorkResponseQueue</res-url>
|    </resource-manager>
|  </resource-managers>
|
|I started up the application again, and got:
|
|<snip>
|javax.jms.JMSException: Invalid transaction id.
|       at
|org.jbossmq.SpyXAResourceManager.addMessage(SpyXAResourceManager.java:80)
|       at org.jbossmq.SpySession.sendMessage(SpySession.java:381)
|       at org.jbossmq.SpyQueueSender.send(SpyQueueSender.java:103)
|       at org.jbossmq.SpyQueueSender.send(SpyQueueSender.java:62)
|       at
|com.boldfish.does.job.workflow.internal.RequestSpoolerEJB.send(Requ
|estSpoolerEJB.java:217)
|       at
|com.boldfish.does.job.workflow.internal.RequestSpoolerEJB.sendNextR
|equest(RequestSpoolerEJB.java:249)
|       at
|com.boldfish.does.job.workflow.internal.RequestSpoolerEJB.spool(Req
|uestSpoolerEJB.java:273)
|       at java.lang.reflect.Method.invoke(Native Method)
|       at
|org.jboss.ejb.StatefulSessionContainer$ContainerInterceptor.invoke(
StatefulSessionContainer.java:650)
|       at
|org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityIntercepto
|r.java:127)
|       at
|org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invoke(Sta
tefulSessionInstanceInterceptor.java:209)
|       at
|org.jboss.ejb.plugins.TxInterceptorCMT.invokeNext(TxInterceptorCMT.
|java:159)
|       at
|org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterc
|eptorCMT.java:280)
|       at
|org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:107)
|       at
|org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:195)
|       at
|org.jboss.ejb.StatefulSessionContainer.invoke(StatefulSessionContai
|ner.java:341)
|       at
|org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPC
|ontainerInvoker.java:480)
|       at
|org.jboss.ejb.plugins.jrmp.interfaces.GenericProxy.invokeContainer(
|GenericProxy.java:339)
|       at
|org.jboss.ejb.plugins.jrmp.interfaces.StatefulSessionProxy.invoke(S
|tatefulSessionProxy.java:136)
|       at $Proxy25.spool(Unknown Source)
|       at
|com.boldfish.does.job.service.JobController$Runner.run(JobControlle
|r.java:216)
|       at java.lang.Thread.run(Thread.java:484)
|</snip>
|
|So I thought that I should try a distributed TX manager, since that is what
|i really want.  I changed over to Tyrex on all nodes and I still got the
|same results.  I then tried to use a jnp:// url for the
|res-jndi-name, which
|looks like it got a little further, but throw a different TX related
|excepetion laiter.
|
|I have session beans that use JMS resources and I have MDB, all of which
|work off of a remote provider.  What is the supported deployment descriptor
|syntax for JMS resources (both factories and desitations) and what needs to
|be done to make the distributed TX work.
|
|A while back someone (could be you) said that using res-url was a hack
|around the lack of support for JMS resources, is that still true?  If not
|what is the correct way to reference a remote connection and destination
|inside of the descriptor?
|
|If you need more detail I can provide that for you, or really anyone who
|might have a clue as to why this is not working correctly.
|
|Thanks,
|
|--jason
|
|
|_______________________________________________
|JBoss-user mailing list
|[EMAIL PROTECTED]
|http://lists.sourceforge.net/lists/listinfo/jboss-user



_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to