My objective is to set a different timeout (greater than default of 5 mins) for
a method that need to process a group of objects in a long transaction. So I
tried to use the @TransactionTimeout annotation. Below is a simplified
pseudocode with what I want to do.
| @PersistenceContext
| EntityManager em;
|
| @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
| @TransactionTimeout(3600)
| public Long doLongTransaction(List<BaseEntity> entities)
| {
| for(BaseEntity entity : entities)
| {
| if (condition)
| persistEntity(entity);
| else
| updateEntity(entity);
| }
| }
| @TransactionAttribute(TransactionAttributeType.REQUIRED)
| public void persistEntity(BaseEntity entity)
| {
| em.persist(entity);
| }
| @TransactionAttribute(TransactionAttributeType.REQUIRED)
| public void updateEntity(BaseEntity entity)
| {
| em.merge(entity);
| }
|
If I try to set a minimum timeout to see if the transaction for this method
will timeout let's say, after a minute it doesn't work, it will only timeout
after the default 5 minutes value.
Am I missing something. Is there any other possibility to set a different
transaction timeout for a method without affecting the global transaction
default timeout?
Thanks,
Mihai
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4244656#4244656
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4244656
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user