[
https://jira.jboss.org/jira/browse/JBSEAM-3726?page=com.atlassian.jira.pl...
]
Dan Allen commented on JBSEAM-3726:
-----------------------------------
Sorry, WebSphere 7 is wrong. Section 3.1.4 of the EJB 3 spec (simplified) states the
following:
"Lifecycle callback methods defined on a bean class have the following signature:
void <METHOD>()
Lifecycle callback methods defined on an interceptor class have the following signature:
void <METHOD>(InvocationContext)
Lifecycle callback interceptor methods can have public, private, protected, or package
level access."
Of course, the lifecycle callback methods being referred to are annotated with
@PrePassivate, @PostActivate, @PreDestroy, or @PostConstruct.
Btw, EntityManagerProxyInterceptor and HibernateSessionProxyInterceptor are a relevant for
discuss here because they are Seam interceptors, so the EJB container isn't calling
them. The only interceptor relevant for this discussion is SessionBeanInterceptor.
Methods with an "InvocationContext" parameter annotated
with "javax.ejb.PostActivate" cause a validation exception in WebSphere v7.0
------------------------------------------------------------------------------------------------------------------------------------
Key: JBSEAM-3726
URL:
https://jira.jboss.org/jira/browse/JBSEAM-3726
Project: Seam
Issue Type: Bug
Components: Platform interoperability
Affects Versions: 2.1.0.SP1
Environment: WebSphere v7.0
Reporter: Denis Forveille
Assignee: Marek Novotny
Priority: Critical
Fix For: 2.1.2.CR1
Attachments: traceback.txt
When starting our app in WebSphere v7.0 with seam v2.1.0.SP1, we receive the exception
below
Is it possible that annotation "javax.ejb.PostActivate" is used instead of
"org.jboss.seam.annotations.intercept.PostActivate" annotation and that the
former does not accept any parameter for the annotated method (At least in WebSphere v7.0)
and the latter does...
The method in question is declared as
@PostActivate
public void postActivate(InvocationContext invocation) throws Exception
This method signature is present in classes SessionBeanInterceptor,
EntityManagerProxyInterceptor and HibernateSessionProxyInterceptor
Exception:
[18/11/08 16:17:51:537 EST] 0000001a annotations E AnnotativeMetadataManagerImpl merge
Caught exception while merging
com.ibm.wsspi.amm.validate.ValidationException: For
method,
org.jboss.seam.persistence.EntityManagerProxyInterceptor.postActivate(Lorg/jboss/seam/intercept/InvocationContext;)V\[com.ibm.ws.amm.scan.util.info.impl.MethodInfoImpl@1b8e1b8e\],
parameters were specified, but null was the expected comparison
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira