[forge-issues] [JBoss JIRA] (FURNACE-145) CDI Interceptors are not enabled in an addon
George Gastaldi (JIRA)
issues at jboss.org
Mon Jul 17 19:39:00 EDT 2017
[ https://issues.jboss.org/browse/FURNACE-145?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
George Gastaldi updated FURNACE-145:
------------------------------------
Description:
If you create an addon and define an interceptor inside its beans.xml, like the following:
{code:java}
@Interceptor
@MyInterceptorBinding
public class MyInterceptor
{
@AroundInvoke
public Object doIt(InvocationContext invocationContext) throws Exception
{
System.out.println("*********************************** BLAH");
return invocationContext.proceed();
}
}
@InterceptorBinding
@Inherited
@Target({ ElementType.TYPE, ElementType.METHOD, ElementType.CONSTRUCTOR })
@Retention(RetentionPolicy.RUNTIME)
public @interface MyInterceptorBinding
{
}
public class InfinispanExtension implements Extension
{
void registerInterceptorBindings(@Observes BeforeBeanDiscovery event)
{
event.addInterceptorBinding(MyInterceptorBinding.class);
}
}
{code}
Now, when you create another addon depending on this addon, and change its beans.xml to contain the following:
{code:xml}
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
bean-discovery-mode="all" version="1.1"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd">
<interceptors>
<class>org.jboss.forge.addon.infinispan.MyInterceptor</class>
</interceptors>
</beans>
{code}
The following error is shown:
{code}
WELD-001417: Enabled interceptor class org.jboss.forge.addon.infinispan.MyInterceptor (<class>org.jboss.forge.addon.infinispan.MyInterceptor</class> in jar:file:/home/ggastald/.forge/addons/org-foo-foo-1-0-0-SNAPSHOT/foo-1.0.0-SNAPSHOT-forge-addon.jar!/META-INF/beans.xml at 7) does not match an interceptor bean: the class is not found, or not annotated with @Interceptor and still not registered through a portable extension, or not annotated with @Dependent inside an implicit bean archive
{code}
was:
If you create an addon and define an interceptor inside its beans.xml, like the following:
{code:java}
@Interceptor
@MyInterceptorBinding
public class MyInterceptor
{
@AroundInvoke
public Object doIt(InvocationContext invocationContext) throws Exception
{
System.out.println("*********************************** BLAH");
return invocationContext.proceed();
}
}
@InterceptorBinding
@Inherited
@Target({ ElementType.TYPE, ElementType.METHOD, ElementType.CONSTRUCTOR })
@Retention(RetentionPolicy.RUNTIME)
public @interface MyInterceptorBinding
{
}
public class InfinispanExtension implements Extension
{
void registerInterceptorBindings(@Observes BeforeBeanDiscovery event)
{
event.addInterceptorBinding(MyInterceptorBinding.class);
}
}
{code}
The following error is shown:
{code}
WELD-001417: Enabled interceptor class org.jboss.forge.addon.infinispan.MyInterceptor (<class>org.jboss.forge.addon.infinispan.MyInterceptor</class> in jar:file:/home/ggastald/.forge/addons/org-foo-foo-1-0-0-SNAPSHOT/foo-1.0.0-SNAPSHOT-forge-addon.jar!/META-INF/beans.xml at 7) does not match an interceptor bean: the class is not found, or not annotated with @Interceptor and still not registered through a portable extension, or not annotated with @Dependent inside an implicit bean archive
{code}
> CDI Interceptors are not enabled in an addon
> --------------------------------------------
>
> Key: FURNACE-145
> URL: https://issues.jboss.org/browse/FURNACE-145
> Project: Forge: Furnace
> Issue Type: Bug
> Components: Container - CDI
> Affects Versions: 2.26.1.Final
> Reporter: George Gastaldi
> Fix For: 2.x Future
>
>
> If you create an addon and define an interceptor inside its beans.xml, like the following:
> {code:java}
> @Interceptor
> @MyInterceptorBinding
> public class MyInterceptor
> {
> @AroundInvoke
> public Object doIt(InvocationContext invocationContext) throws Exception
> {
> System.out.println("*********************************** BLAH");
> return invocationContext.proceed();
> }
> }
> @InterceptorBinding
> @Inherited
> @Target({ ElementType.TYPE, ElementType.METHOD, ElementType.CONSTRUCTOR })
> @Retention(RetentionPolicy.RUNTIME)
> public @interface MyInterceptorBinding
> {
> }
> public class InfinispanExtension implements Extension
> {
> void registerInterceptorBindings(@Observes BeforeBeanDiscovery event)
> {
> event.addInterceptorBinding(MyInterceptorBinding.class);
> }
> }
> {code}
> Now, when you create another addon depending on this addon, and change its beans.xml to contain the following:
> {code:xml}
> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> <beans xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> bean-discovery-mode="all" version="1.1"
> xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd">
> <interceptors>
> <class>org.jboss.forge.addon.infinispan.MyInterceptor</class>
> </interceptors>
> </beans>
> {code}
> The following error is shown:
> {code}
> WELD-001417: Enabled interceptor class org.jboss.forge.addon.infinispan.MyInterceptor (<class>org.jboss.forge.addon.infinispan.MyInterceptor</class> in jar:file:/home/ggastald/.forge/addons/org-foo-foo-1-0-0-SNAPSHOT/foo-1.0.0-SNAPSHOT-forge-addon.jar!/META-INF/beans.xml at 7) does not match an interceptor bean: the class is not found, or not annotated with @Interceptor and still not registered through a portable extension, or not annotated with @Dependent inside an implicit bean archive
> {code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
More information about the forge-issues
mailing list