[wildfly-dev] Transaction synchronization between threads
Scott Marlow
smarlow at redhat.com
Tue Feb 4 10:13:37 EST 2014
On 02/04/2014 09:57 AM, Stuart Douglas wrote:
> I would use a transaction synchronization, so you don't spawn the other
> thread until the transaction is successfully committed.
>
> What does the spec say about transactions? If a job is create in a
> thread that is part of a transaction and the transaction is rolled back
> should the job actually go ahead? Common sense would suggest not.
Good point, we should use the Synchronization.afterCompletion(Status)
and check if the Status parameter is STATUS_COMMITTED.
>
> Stuart
>
>
>
> On Tue, Feb 4, 2014 at 4:49 PM, Cheng Fang <cfang at redhat.com
> <mailto:cfang at redhat.com>> wrote:
>
> A jberet user reported JBERET-29
> <https://issues.jboss.org/browse/JBERET-29> (Foreign key constraint
> step_execution_jobexecutionid_fkey fails when using Postgresql on
> WildFly, and we are trying to fix it by jberet 1.0.0.Final. The
> problem happens when user app starts a job within a transaction
> (e.g., CMT EJB), jberet inserts JobExecution into database (thread 1
> & transaction 1), and then spawn a jberet-batch thread to run the
> job (thead 2 & transaction 2). Sometimes T2 tries to access db
> before T1 is committed, hence the error reported by the user.
>
> What's the common approach for solving this kind of problem? I
> suppose other WildFly components may also have this issue and
> probably already solved. Using transaction synchronization is a
> cleaner solution than polling db, but I'm not sure about its full
> implication. Ideally, I don't want to use system level JTA API like
> TransactionManager or Synchronization in jberet proper, but probably
> we can implement it in WildFly jberet integration.
>
> Thanks,
> Cheng
>
> _______________________________________________
> wildfly-dev mailing list
> wildfly-dev at lists.jboss.org <mailto:wildfly-dev at lists.jboss.org>
> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>
>
>
>
> _______________________________________________
> wildfly-dev mailing list
> wildfly-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>
More information about the wildfly-dev
mailing list