[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-3726) Methods with an "InvocationContext" parameter annotated with "javax.ejb.PostActivate" cause a validation exception in WebSphere v7.0
Dan Allen (JIRA)
jira-events at lists.jboss.org
Thu Dec 4 10:15:37 EST 2008
[ https://jira.jboss.org/jira/browse/JBSEAM-3726?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12441177#action_12441177 ]
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 at 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
More information about the seam-issues
mailing list