I have a stateless sessionBean defined using an interceptor on a businessMethod 
as well as a entityBean with a listener.


  | @Stateless
  | @TransactionAttribute(TransactionAttributeType.REQUIRED)
  | public class MyStatelessSessionBean {
  |    ...
  |    @Interceptors(MyInteceptor.class)
  |    public Object myPersistMethod(MyEntityObject myEntity) {
  |         ... 
  |         // using an injected entityManager
  |         return entitymanger.merge(myEntity)
  |        ...
  |    }
  | }
  | 
  | public class MyInteceptor {
  |    @AroundInvoke
  |    public Object doInteception(InvocationContext context) throws Exception {
  |       try {
  |          System.out.println("before proceed");
  |          return context.proceed();
  |       } finally {
  |          System.out.println("after proceed");
  |       }
  |    }
  | 
  | @Entity
  | @EntityListeners(MyEntityListener.class)
  | public class MyEntity {
  |      ...
  |      // some attributes / setters an getters ...
  |      ...
  | }
  | 
  | public class MyEntityListener {
  |     @PrePersist
  |     public void prePersit(Object entity) {
  |         System.out.println("prePersist entity"); 
  |     }
  | 
  |     @PreUpdate
  |     public void preUpdate(Object entity) {
  |         System.out.println("preUpdate entity"); 
  |     }
  | }
  | 
  | 

calling the business-Method from a client twice with the same entity results in 
different call-stacks:


  | ======= CREATING THE ENTITY with myEntity = 
service.myPersistMethod(myEntity) ==============
  | INFO  [STDOUT]   before proceed
  | INFO  [STDOUT]   prePersist entity
  | INFO  [STDOUT]   after proceed
  | 
  | ...
  | 
  | ======= UPDATING THE ENTITY with myEntity = 
service.myPersistMethod(myEntity) ==============
  | INFO  [STDOUT]   before proceed
  | INFO  [STDOUT]   after proceed
  | INFO  [STDOUT]   preUpdate entity
  | 
  | 

the first output is as expected, but the second isn't what I was expecting, 
because there is now way for the interceptor to get some information about 
possible updates within the entity-callbacks ...

Is this behaviour anywhere defined ? Can I assume any calling order in 
combination of Interceptors and callbackhandlers within a transaction - or is 
it explicitly undefined ...

Thx for any help ---

wbr


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

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3989470
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to