[jbpm-dev] [Design of JBoss jBPM] - Re: Multiple 1PC resources in enterprise

alex.guizar@jboss.com do-not-reply at jboss.com
Thu Sep 11 13:01:29 EDT 2008


anonymous wrote : If I understand you correctly, you associated the DS for the TimerEntityBean with the JbpmDS to share the same DS with the rest of the engine and not have multiple 1PC resources enlisted.
The DS for the TimerEntityBean must be the JbpmDS, otherwise the whole thing does not work :-) In JBPM-1708 I meant the DS for the EJB timer service itself, tough. When the EntitySchedulerService creates an EJB timer, the data source specified in ejb2-timer-service.xml (JBoss 5) or ejb-deployer.xml (JBoss 4) enters the scene.
  <mbean code="org.jboss.ejb.txtimer.DatabasePersistencePolicy" name="jboss.ejb:service=EJBTimerService,persistencePolicy=database">
  |     <!-- DataSourceBinding ObjectName -->
  |     <depends optional-attribute-name="DataSource">jboss.jca:service=DataSourceBinding,name=JbpmDS</depends>
  |     <!-- The plugin that handles database persistence -->
  |     <attribute name="DatabasePersistencePlugin">org.jboss.ejb.txtimer.GeneralPurposeDatabasePersistencePlugin</attribute>
  |     <!-- The timers table name -->
  |     <attribute name="TimersTable">EJB_TIMER</attribute>
  |     <depends>jboss.jdbc:datasource=JbpmDS,service=metadata</depends>
  |   </mbean>
If set to a data source other than JbpmDS, multiple 1PC problems happen. Another option is to enable multiple last resource enlistment in the transaction service. But that might result in inconsistent rollbacks, which would be very bad when coupled with optimistic locking exceptions. 

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

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



More information about the jbpm-dev mailing list