You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltaspike.apache.org by "Matej Novotny (JIRA)" <ji...@apache.org> on 2016/05/04 09:21:13 UTC

[jira] [Created] (DELTASPIKE-1141) @Futureable and @Locked cannot work with CDI 1.0/Weld 1.x

Matej Novotny created DELTASPIKE-1141:
-----------------------------------------

             Summary: @Futureable and @Locked cannot work with CDI 1.0/Weld 1.x
                 Key: DELTASPIKE-1141
                 URL: https://issues.apache.org/jira/browse/DELTASPIKE-1141
             Project: DeltaSpike
          Issue Type: Bug
    Affects Versions: 1.6.1
         Environment: CDI 1.x/Weld 1.x
EAP 6/JBoss AS 7
            Reporter: Matej Novotny


Follow-up on DELTASPIKE-1138.
There is still a problem which affects at least two DS features - @Futureable and @Locked.
Both of them have an interceptor enabled in DS core jar file (via beans.xml). However this will not work with CDI 1.0/Weld 1.x! 

The reason is the eternal holy war for what exactly is a 'bean archive' :-). 
Weld will consider the interceptor enabled only for the core jar itself hence it will not kick in.

How to reproduce:
* Run DS on JBoss AS 7 (JDK 1.7 or lower) or EAP 6 (all JDKs)
** {{mvn clean verify -Pjbossas-build-managed-7 -Dweld.version=1.1.33.Final -Dtest=FutureableTest}}
* To make the test pass, you can add {{beans.xml}} containing the interceptor [here|https://github.com/apache/deltaspike/blob/master/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/impl/future/FutureableTest.java#L45] (same works for LockedTest)
** *The above trick is not a fix though!* Merely a workaround allowing Weld to enable the interceptor within test archive
** I think any user aiming to use these features with Weld 1.x would need to use this workaround in his/her deployments which is ugly

Notes:
* {{@Priority}} cannot be used here (for CDI 1.0)
* GlobalInterceptorExtension won't help either as it is working since CDI 1.1+
* This is not a problem for embedded container (e.g. running via {{-PWeld1}})
** This is probably because of different structure of embedded deployments



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)