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