Hello,

JRun throws a DeadlockException when sending messages from an entity
ejb. I do a little example that reproduce the exception.

The example consist on a entity bean that have one method on the remote
interface. The method is transacted (Required) and send a message to a
queue, the QueueSession also is transacted.

There are a client, that has references to two entities and send
messages on a loop through the two entities. The main method of the
client start two clients.

The exception is:

---
Exception: [16:39:40] allaire.ejipt.DeadlockException: Deadlock detected

allaire.ejipt.DeadlockException: Deadlock detected
at allaire.ejipt._AbstractObject._grabbing(_AbstractObject.java:230)
at allaire.ejipt._EntityObject._grab(_EntityObject.java:78)
at allaire.ejipt._EntityObject._invoke(_EntityObject.java:123)
at allaire.ejipt._CallableObject.call(_CallableObject.java:101)
at allaire.ejipt._CallableStub._call(_CallableStub.java:209)
at
allaire.ejipt.ejbeans.MessageQueueObject_Stub.getPrimaryKey(MessageQueueObject_Stub.java:145)

at
allaire.ejipt.ejbeans.QueueConnectorBean._createQueue(QueueConnectorBean.java:44)

at java.lang.reflect.Method.invoke(Native Method)
at allaire.ejipt._BeanMethod._invoke(_BeanMethod.java:166)
at allaire.ejipt._SessionObject._invoke(_SessionObject.java:182)
at allaire.ejipt._CallableObject.call(_CallableObject.java:101)
at allaire.ejipt._CallableStub._call(_CallableStub.java:209)
at
allaire.ejipt.ejbeans.ConnectorObject_Stub._createQueue(ConnectorObject_Stub.java:298)

at allaire.ejipt._jms._Connection._createQueue(_Connection.java:228)
at allaire.ejipt._jms._Session.createQueue(_Session.java:62)
at com.aqs.ejb.test.sender.SenderEJB.sendTextMessage(SenderEJB.java:87)
at java.lang.reflect.Method.invoke(Native Method)
at allaire.ejipt._BeanMethod._invoke(_BeanMethod.java:166)
at allaire.ejipt._EntityObject._invoke(_EntityObject.java:243)
at allaire.ejipt._EntityObject._invoke(_EntityObject.java:140)
at allaire.ejipt._CallableObject.call(_CallableObject.java:101)
at java.lang.reflect.Method.invoke(Native Method)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:242)
at sun.rmi.transport.Transport$1.run(Transport.java:155)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:152)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:462)

at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:662)

at java.lang.Thread.run(Thread.java:498)
---

The attached file with the source of the entity and client, the
ejb-jar.xml file, the class files and with the jar file for the
deployment (test.jar), could be found on
http://forums.allaire.com/jrun/messageview.cfm?catid=71&threadid=214329

Any help would be appreciated.

Regards,
    C�sar.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at 
http://www.fusionauthority.com/bkinfo.cfm
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to