<div dir="ltr"><div>Jozef, <br></div>The PlainInterceptorFactory is weld class. Here is the stack when we created an instance for a managed bean class (@ManagedBean) by calling injectionTarget.produce(); You are not asking me to override PlainInterceptorFactory, right? <br><br><br>




<table></table>Caused by: java.lang.Exception<br>        at org.jboss.weld.injection.producer.BasicInjectionTarget.createNonCdiInterceptor(BasicInjectionTarget.java:69)<br>        at org.jboss.weld.manager.InjectionTargetFactoryImpl.chooseInjectionTarget(InjectionTargetFactoryImpl.java:126)<br>        at org.jboss.weld.manager.InjectionTargetFactoryImpl.createInjectionTarget(InjectionTargetFactoryImpl.java:87)<br>        at org.jboss.weld.manager.InjectionTargetFactoryImpl.createInjectionTarget(InjectionTargetFactoryImpl.java:80)<br>        at org.jboss.weld.manager.InjectionTargetFactoryImpl.createInterceptorInjectionTarget(InjectionTargetFactoryImpl.java:75)<br>        at org.jboss.weld.interceptor.reader.PlainInterceptorFactory.of(PlainInterceptorFactory.java:41)<br>        at org.jboss.weld.interceptor.reader.InterceptorMetadataReader$1.load(InterceptorMetadataReader.java:44)<br>        at org.jboss.weld.interceptor.reader.InterceptorMetadataReader$1.load(InterceptorMetadataReader.java:39)<br>        at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3599)<br>        at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2379)<br>        at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2342)<br>        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2257)<br>        at com.google.common.cache.LocalCache.get(LocalCache.java:4000)<br>        at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4004)<br>        at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4874)<br>        at org.jboss.weld.util.cache.LoadingCacheUtils.getCacheValue(LoadingCacheUtils.java:49)<br>        at org.jboss.weld.util.cache.LoadingCacheUtils.getCastCacheValue(LoadingCacheUtils.java:74)<br>        at org.jboss.weld.interceptor.reader.InterceptorMetadataReader.getPlainInterceptorMetadata(InterceptorMetadataReader.java:64)<br>        at org.jboss.weld.injection.producer.InterceptionModelInitializer.initClassDeclaredEjbInterceptors(InterceptionModelInitializer.java:233)<br>        at org.jboss.weld.injection.producer.InterceptionModelInitializer.initEjbInterceptors(InterceptionModelInitializer.java:217)<br>        at org.jboss.weld.injection.producer.InterceptionModelInitializer.init(InterceptionModelInitializer.java:103)<br>        at org.jboss.weld.injection.producer.BeanInjectionTarget.buildInterceptionModel(BeanInjectionTarget.java:93)<br>        at org.jboss.weld.injection.producer.BeanInjectionTarget.initializeInterceptionModel(BeanInjectionTarget.java:88)<br>        at org.jboss.weld.injection.producer.BeanInjectionTarget.initializeAfterBeanDiscovery(BeanInjectionTarget.java:98)<br>        at org.jboss.weld.injection.producer.InjectionTargetInitializationContext.initialize(InjectionTargetInitializationContext.java:42)<br>        at org.jboss.weld.injection.producer.InjectionTargetService.addInjectionTargetToBeInitialized(InjectionTargetService.java:55)<br>        at org.jboss.weld.injection.producer.InjectionTargetService.addInjectionTargetToBeInitialized(InjectionTargetService.java:49)<br>        at org.jboss.weld.manager.InjectionTargetFactoryImpl.initialize(InjectionTargetFactoryImpl.java:145)<br>        at org.jboss.weld.manager.InjectionTargetFactoryImpl.createInjectionTarget(InjectionTargetFactoryImpl.java:92)<br>        at org.jboss.weld.manager.InjectionTargetFactoryImpl.createInjectionTarget(InjectionTargetFactoryImpl.java:80)<br>        at org.jboss.weld.manager.InjectionTargetFactoryImpl.createInjectionTarget(InjectionTargetFactoryImpl.java:70)<br>        at org.jboss.weld.manager.InjectionTargetFactoryImpl.createInjectionTarget(InjectionTargetFactoryImpl.java:54)

<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jun 3, 2015 at 10:50 AM, Jozef Hartinger <span dir="ltr">&lt;<a href="mailto:jharting@redhat.com" target="_blank">jharting@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">What I meant was that your PlainInterceptorFactory should in this case, instead of calling createInterceptorInjectionTarget(), call<span class=""><br>
<br>
beanManager.createInjectionTargetBuilder(type)<br>
    .setDecorationEnabled(false)<br>
    .setInterceptionEnabled(false)<br>
    .setTargetClassLifecycleCallbacksEnabled(false)<br>
    .setResourceInjectionEnabled(true)<br>
    .build()<br>
<br></span>
The InjectionTarget you get should be the same except for resource injection which will be provided by Weld.<span class="HOEnZb"><font color="#888888"><br>
<br>
Jozef</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
On 06/03/2015 11:25 AM, Emily Jiang wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I might have missed your point. Please elaborate a bit more.<br>
</blockquote>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature">Thanks<br>Emily<br>=================<br>Emily Jiang<br><a href="mailto:ejiang@apache.org" target="_blank">ejiang@apache.org</a><br></div>
</div>