Hi, All

I'm developing a workflow management server based on JMS.
I'm using a MDB(uEngineWorkProcessorEJB) that uses several CMP entity beans 
(ProcessDefinitionRepository, ProcessInstanceRepository, ProcessVariableRepository), 
when my MDB is invoked, there an transaction error occurs and right after the MDB 
hangs (timeout). the error message is the well-known one:

Prepare called on a local tx. Use of local transactions on a jta transaction with more 
than one branch may result in inconsistent data in some cases of failure.

The ejbjar is

  |     <message-driven>
  |             <ejb-name>uEngineWorkProcessorEJB</ejb-name>
  |             <ejb-class>org.uengine.queue.workqueue.WorkProcessorBean</ejb-class>
  |             <transaction-type>Container</transaction-type>
  |             <message-selector>MessageFormat = 'Version 1.0'</message-selector>
  |             <acknowledge-mode>auto-acknowledge</acknowledge-mode>       
  |             <message-driven-destination>
  |                     <destination-type>javax.jms.Queue</destination-type>
  |             </message-driven-destination>      
  |             
  |             <security-identity>
  |                     <run-as><role-name>everyone</role-name></run-as>
  |             </security-identity>
  |             <resource-ref>
  |                     <res-ref-name>jms/QueueFactory</res-ref-name>
  |                     <res-type>javax.jms.QueueConnectionFactory</res-type>
  |                     <res-auth>Container</res-auth>
  |             </resource-ref>
  |             <ejb-local-ref>
  |                     
<ejb-ref-name>ProcessDefinitionRepositoryHomeLocal</ejb-ref-name>  
  |                     <ejb-ref-type>Entity</ejb-ref-type>
  |                     
<local-home>org.uengine.persistence.processdefinition.ProcessDefinitionRepositoryHomeLocal</local-home>
  |                     
<local>org.uengine.persistence.processdefinition.ProcessDefinitionRepositoryLocal</local>
  |                     
  |                     <!-- jboss specific -->
  |                     <ejb-link>ProcessDefinitionRepositoryEJB</ejb-link>
  |             </ejb-local-ref>
  |             ....
  |     </message-driven>


The MDB couldn't work till the transaction settings were disabled like following:

   <container-transaction>
  |      <!--method>
  |          <ejb-name>uEngineWorkProcessorEJB</ejb-name>
  |          <method-name>*</method-name>
  |      </method-->
  |      <method>
  |          <ejb-name>ProcessDefinitionRepositoryEJB</ejb-name>
  |          <method-name>*</method-name>
  |      </method>
  |       <method>
  |          <ejb-name>ProcessDefinitionRepositoryEJB</ejb-name>
  |          <method-name>*</method-name>
  |      </method>
  |      <method>
  |          <ejb-name>ProcessInstanceRepositoryEJB</ejb-name>
  |          <method-name>*</method-name>
  |      </method>
  |      <method>
  |          <ejb-name>ProcessVariableRepositoryEJB</ejb-name>
  |          <method-name>*</method-name>
  |      </method>
  |      <trans-attribute>Required</trans-attribute>
  |    </container-transaction>

I guess the cause is my MDB tries an unsafe transaction or something like a deadlock.. 

Can anybody help me?

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

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


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to