Hello,
I just installed 1.4.3. The good news is that my previous problems with
JMS subscribers, when running as auto-started clients, not getting
messages delivered is resolved. However, it appears that the
auto-started client's message handler (onMessage()) is invoked within
the transaction context of the publishing EJB call. Is this expected
behavior? I would think that the message handlers would be invoked
outside of the transaction. If this is expected behavior, how can I
design around it?
Here's a stacktrace that shows the calls (the non-reentrant exception, I
believe, is an artifact of the problem) The flow is that the EntityBean
(datawatchItemBean), in its postCreate publishes a message and an
auto-started client (DataWatchEngine) subscribes to these messages.
I'm not an expert on JMS (barely getting started with messaging) and
would appreciate all help.
Thanks,
Vidur
com.evermind.server.rmi.OrionRemoteException: Recursive call to
non-reentrant be
an
at com.evermind.server.ejb.AbstractEJBObject.startCall(JAX)
at
DataWatchItem_EntityBeanWrapper18.getDataWatchEntry(DataWatchItem_Ent
ityBeanWrapper18.java:1014)
at
com.epistemic.km.server.DataWatchEngine$NotificationHandler.onNotify(
DataWatchEngine.java:195)
at
com.epistemic.km.server.ServerNotificationListener$MessageListenerImp
l.onMessage(ServerNotificationListener.java:30)
at com.evermind.server.jms.ct.lr(JAX)
at com.evermind.server.jms.cu.lr(JAX)
at com.evermind.server.jms.EvermindTopicConnection.l8(JAX)
at com.evermind.server.jms.JMSServer.lq(JAX)
at com.evermind.server.jms.ch.k9(JAX)
at com.evermind.server.jms.cu.l5(JAX)
at com.evermind.server.jms.cv.publish(JAX)
at com.evermind.server.jms.cv.publish(JAX)
at com.epistemic.km.server.Notifier.publish(Notifier.java:87)
at
com.epistemic.km.server.Notifier.notifyCreate(Notifier.java:101)
at
com.epistemic.km.server.DataWatchItemBean.ejbPostCreate(DataWatchItem
Bean.java:69)
at
DataWatchItemHome_EntityHomeWrapper51.create(DataWatchItemHome_Entity
HomeWrapper51.java:506)
at
com.epistemic.km.server.DataWatchServiceBean.addWatch(DataWatchServic
eBean.java:110)
at
DataWatchService_StatelessSessionBeanWrapper8.addWatch(DataWatchServi
ce_StatelessSessionBeanWrapper8.java:138)
at java.lang.reflect.Method.invoke(Native Method)
at com.evermind.server.rmi.bf.do(JAX)
at com.evermind.util.f.run(JAX)
--
Vidur Dhanda
Active Solutions
tel: 617/566-1252
[EMAIL PROTECTED]
www.active-solutions-inc.com