-
Bug
-
Resolution: Done
-
Major
-
8.0.0.Alpha4
-
None
I just downloaded the latest WildFly snapshot which contains an upgrade of IronJacamar. The annotation @Transactional works fine for @RequestScoped requests (see WFLY-1496).
However, if I'm using @SessionScoped for CDI beans in a JSF-based web application, then I get the stacktrace below. The solution is pretty simple:
The interceptor class TransactionalInterceptorBase in Narayana's package com.arjuna.ats.jta.cdi.transactional has to implement the interface java.io.Serializable.
The stacktrace:
17:25:52,861 ERROR [org.jboss.msc.service.fail] MSC000001: Failed to start service jboss.deployment.unit."shop2.war".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."shop2.war".WeldStartService: Failed to start service at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1900) [jboss-msc-1.2.0.Beta2.jar:1.2.0.Beta2] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_25] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_25] at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25] Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001527 Managed bean declaring a passivating scope has a non-serializable interceptor. Bean: Managed Bean [class de.shop.auth.web.AuthModel] with qualifiers [@Default @Any @Named] Interceptor: org.jboss.weld.interceptor.reader.DefaultInterceptorMetadata@63abbf61 at org.jboss.weld.bean.ManagedBean.checkType(ManagedBean.java:214) at org.jboss.weld.bean.AbstractBean.initializeAfterBeanDiscovery(AbstractBean.java:115) at org.jboss.weld.bean.ManagedBean.initializeAfterBeanDiscovery(ManagedBean.java:122) at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$AfterBeanDiscoveryInitializerFactory.doWork(ConcurrentBeanDeployer.java:129) at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$AfterBeanDiscoveryInitializerFactory.doWork(ConcurrentBeanDeployer.java:120) at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:60) at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:53) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [rt.jar:1.7.0_25] at java.util.concurrent.FutureTask.run(FutureTask.java:166) [rt.jar:1.7.0_25] ... 3 more