Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1119780

Summary: CDI annotations
Product: [JBoss] JBoss Data Grid 6 Reporter: Shaun Appleton <sappleto>
Component: InfinispanAssignee: Tristan Tarrant <ttarrant>
Status: CLOSED CURRENTRELEASE QA Contact: Martin Gencur <mgencur>
Severity: high Docs Contact:
Priority: high    
Version: 6.3.0CC: dmehra, galder.zamarreno, gsheldon, jdg-bugs, jpallich, mhusnain, vjuranek, wfink
Target Milestone: CR1   
Target Release: 6.3.1   
Hardware: Unspecified   
OS: Unspecified   
URL: https://c.na7.visual.force.com/apex/Case_View?id=500A000000LF54KIAT
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Previously in Red Hat JBoss Data Grid, certain user code failed to compile because some Infinispan CDI classes had been refactored to different packages located in other modules. In JBoss Data Grid 6.3.1, the Infinispan CDI classes have been moved back to the original package and module. As a result, the user code no longer fails to compile because the CDI classes are not available where expected.
Story Points: ---
Clone Of:
: 1121682 1122025 (view as bug list) Environment:
Last Closed: 2015-01-26 14:06:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1119746, 1121682, 1122025    
Attachments:
Description Flags
Preliminary patch none

Description Shaun Appleton 2014-07-15 13:39:29 UTC
Description of issue:

org.infinispan.jcache.annotation.CacheResultInterceptor cannot be found in jdg 6.2.1 or jdg 6.3.0

in the docs 

https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Data_Grid/6.1/html-single/Developer_Guide/index.html#sect-Storage_and_Retrieval_Using_CDI_Annotations

was replaced by 

https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Data_Grid/6.2/html-single/Developer_Guide/index.html#sect-Storage_and_Retrieval_Using_CDI_Annotations

but jcache is not supported - see https://bugzilla.redhat.com/show_bug.cgi?id=1101282

Customers are using and relying on this in jdg 6.1 and want to migrate to jdg 6.2.1 and/or jdg 6.3.0 but now can't.

Comment 4 Galder Zamarreño 2014-07-16 17:30:13 UTC
I've pushed a preliminary fix to https://github.com/infinispan/jdg/tree/1119780 @Shaun, can you verify that their CDI applications work fine with those changes?

Comment 5 Shaun Appleton 2014-07-17 08:32:10 UTC
Galder, I can't see https://github.com/infinispan/jdg - I get a 404 - is it private?

Comment 6 Galder Zamarreño 2014-07-17 15:20:15 UTC
@Shaun, yes it's private, but shouldn't you have access to? Maybe @Wolf can help? In the mean time, I'm attaching a patch that you can apply to 6.3.x branch. Let me know if you have any issues :)

Comment 7 Galder Zamarreño 2014-07-17 15:22:58 UTC
Created attachment 918772 [details]
Preliminary patch

Comment 9 wfink 2014-07-23 14:10:49 UTC
*** Bug 1122025 has been marked as a duplicate of this bug. ***

Comment 10 Galder Zamarreño 2014-08-15 07:05:44 UTC
Pull requests sent:
https://github.com/infinispan/jdg/pull/186 <- for jdg-6.3.x
https://github.com/infinispan/jdg/pull/187 <- for jdg-6.4.x

Comment 11 Vojtech Juranek 2014-08-22 09:21:32 UTC
fails with

23:36:06,993 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC000001: Failed to start service jboss.deployment.unit."test.war".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."test.war".WeldStartService: Failed to start service
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1936) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_55]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_55]
        at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_55]
Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-000069 An interceptor must have at least one binding, but org.infinispan.cdi.interceptor.CachePutInterceptor has none
        at org.jboss.weld.bean.InterceptorImpl.<init>(InterceptorImpl.java:72)
        at org.jboss.weld.bean.InterceptorImpl.of(InterceptorImpl.java:59)
        at org.jboss.weld.bootstrap.AbstractBeanDeployer.createInterceptor(AbstractBeanDeployer.java:229)
        at org.jboss.weld.bootstrap.BeanDeployer.createBeans(BeanDeployer.java:151)
        at org.jboss.weld.bootstrap.BeanDeployment.createBeans(BeanDeployment.java:204)
        at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:349)
        at org.jboss.as.weld.WeldStartService.start(WeldStartService.java:63)
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1980) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1913) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]
        ... 3 more

It fails because interceptor bindings are not registered (https://github.com/infinispan/infinispan/blob/master/jcache/src/main/java/org/infinispan/jcache/annotation/AnnotationInjectExtension.java is missing in JDG)