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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...