deltaspike-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Kouba <mko...@redhat.com>
Subject Re: Error deploying deltaspike 1.7.1 on JBoss EAP 7: WELD-001504: Intercepted bean method TransactionalInterceptor) cannot be declared final
Date Thu, 29 Sep 2016 07:39:35 GMT
When looking at the exception message:

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

It seems that DS TransactionalInterceptor is associated with a bean with 
bean type Throwable (which itself sounds odd). Throwable.getSuppressed() 
is final and so it's not possible to create a proxy for it. You should 
try to find this suspicious bean. And remove/veto it if not used.

In any case, since Weld 2.3.3 it's also possible to ignore final methods 
on proxies - see also 
http://docs.jboss.org/weld/reference/latest/en-US/html/configure.html#_proxying_classes_with_final_methods.

Martin

Dne 28.9.2016 v 20:50 Esteve Avilés napsal(a):
> No usage of @Transactional.
>
> Thanks,
>
> On Wed, Sep 28, 2016 at 8:33 PM, Cody Lerum <cody.lerum@gmail.com> wrote:
>
>> 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 <eavilesa@gmail.com> 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
>>
>
>
>

-- 
Martin Kouba
Software Engineer
Red Hat, Czech Republic

Mime
View raw message