[weld-issues] [JBoss JIRA] (WELD-996) ClassCastException validating custom Interceptor implementation

Jozef Hartinger (Issue Comment Edited) (JIRA) jira-events at lists.jboss.org
Mon Oct 31 09:01:47 EDT 2011


    [ https://issues.jboss.org/browse/WELD-996?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12638526#comment-12638526 ] 

Jozef Hartinger edited comment on WELD-996 at 10/31/11 9:00 AM:
----------------------------------------------------------------

My understanding is that if an extension-provided Interceptor implementation (e.g. CustomInterceptorImpl) is registered, Weld should recognize it to be passivation capable if and only if CustomInterceptorImpl implements the PassivationCapable interface. That should be the only indicator and we should not check if the underlying class, which CustomInterceptorImpl may be using, implements Serializable or not. Otherwise, that would go against the abstraction the SPI provides.
                
      was (Author: jharting):
    My understanding is that if an extension-provided Interceptor implementation (e.g. CustomInterceptorImpl) is registered, Weld should recognize it to be passivation capable if and only if CustomInterceptorImpl implements the PassivationCapable interface. That should be the only indicator and we should not check the underlying class CustomInterceptorImpl may be using. Otherwise, that would go against the abstraction the SPI provides.
                  
> ClassCastException validating custom Interceptor implementation
> ---------------------------------------------------------------
>
>                 Key: WELD-996
>                 URL: https://issues.jboss.org/browse/WELD-996
>             Project: Weld
>          Issue Type: Bug
>    Affects Versions: 1.1.2.Final
>            Reporter: Jozef Hartinger
>            Assignee: Jozef Hartinger
>            Priority: Critical
>             Fix For: 1.2.0.Beta1
>
>
> Having a custom implementation of the Interceptor interface registered with Weld, the validation always fails if the interceptor happens to intercept a passivation capable bean. Weld incorrectly casts the interceptor to InterceptorImpl which is not valid for extension-provided interceptors.
> {noformat}
> java.lang.ClassCastException: org.jboss.seam.classic.intercept.ClassicInterceptor cannot be cast to org.jboss.weld.bean.InterceptorImpl
>         at org.jboss.as.weld.services.WeldService.start(WeldService.java:96)
>         at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824) [jboss-msc-1.0.1.GA.jar:1.0.1.GA]
>         at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759) [jboss-msc-1.0.1.GA.jar:1.0.1.GA]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_24]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_24]
>         at java.lang.Thread.run(Thread.java:662) [:1.6.0_24]
> Caused by: java.lang.ClassCastException: org.jboss.seam.classic.intercept.ClassicInterceptor cannot be cast to org.jboss.weld.bean.InterceptorImpl
>         at org.jboss.weld.bootstrap.Validator.validateInterceptors(Validator.java:171)
>         at org.jboss.weld.bootstrap.Validator.validateRIBean(Validator.java:151)
>         at org.jboss.weld.bootstrap.Validator.validateBeans(Validator.java:351)
>         at org.jboss.weld.bootstrap.Validator.validateDeployment(Validator.java:336)
>         at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:404)
>         at org.jboss.as.weld.WeldContainer.start(WeldContainer.java:82)
>         at org.jboss.as.weld.services.WeldService.start(WeldService.java:89)
>         ... 5 more
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the weld-issues mailing list