Just a reminder that if you are on EE7 then you can use the standard
@Transactional (javax.transaction.Transactional) from Java EE rather
than the Deltaspike version.
There might be some cases where Deltaspike's has an advantage, but
I've been using the EE7 @Transactional with CDI beans for years now
with no issues.
-C
On Wed, Sep 28, 2016 at 8:57 AM, Esteve Avilés <[email protected]> wrote:
Hi,
I am getting the following error on migrating an app from JBoss EAP 6 to
EAP 7:
16:51:22,733 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1)
MSC000001: Failed to start service
jboss.deployment.unit."ocicommerce-backoffice.war".WeldStartService:
org.jboss.msc.service.StartException in service
jboss.deployment.unit."ocicommerce-backoffice.war".WeldStartService:
Failed
to start service
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(
ServiceControllerImpl.java:1904)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(
ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001504:
Intercepted bean method [EnhancedAnnotatedMethodImpl] public final
synchronized java.lang.Throwable.getSuppressed() (intercepted by
org.apache.deltaspike.jpa.impl.transaction.TransactionalInterceptor)
cannot
be declared final
at
org.jboss.weld.injection.producer.InterceptionModelInitializer.
initInterceptor(InterceptionModelInitializer.java:196)
at
org.jboss.weld.injection.producer.InterceptionModelInitializer.
initCdiBusinessMethodInterceptor(InterceptionModelInitializer.java:184)
at
org.jboss.weld.injection.producer.InterceptionModelInitializer.
initCdiBusinessMethodInterceptors(InterceptionModelInitializer.java:176)
at
org.jboss.weld.injection.producer.InterceptionModelInitializer.
initCdiInterceptors(InterceptionModelInitializer.java:141)
at
org.jboss.weld.injection.producer.InterceptionModelInitializer.init(
InterceptionModelInitializer.java:108)
at
org.jboss.weld.injection.producer.BeanInjectionTarget.
buildInterceptionModel(BeanInjectionTarget.java:94)
at
org.jboss.weld.injection.producer.BeanInjectionTarget.
initializeInterceptionModel(BeanInjectionTarget.java:89)
at
org.jboss.weld.injection.producer.BeanInjectionTarget.
initializeAfterBeanDiscovery(BeanInjectionTarget.java:99)
at
org.jboss.weld.injection.producer.InjectionTargetInitializationC
ontext.initialize(InjectionTargetInitializationContext.java:42)
at
org.jboss.weld.injection.producer.InjectionTargetService.initialize(
InjectionTargetService.java:63)
at org.jboss.weld.bootstrap.WeldStartup.deployBeans(
WeldStartup.java:433)
at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(
WeldBootstrap.java:83)
at org.jboss.as.weld.WeldStartService.start(WeldStartService.java:95)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(
ServiceControllerImpl.java:1948)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(
ServiceControllerImpl.java:1881)
... 3 more
In beans.xml I have:
<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">
<alternatives>
<class>org.apache.deltaspike.jpa.impl.transaction.
ContainerManagedTransactionStrategy</class>
</alternatives>
<decorators/>
<interceptors>
<class>cat.tmb.tdo.ocicommerce.domain.services.
logger.LoggedInterceptorImpl</class>
<class>org.apache.deltaspike.security.impl.extension.
SecurityInterceptor</class>
</interceptors>
</beans>
The APP doesn't deploy.
Could you please help me?
Thank you very much,
Regards.
--
Esteve Avilés