[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