<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Oops, sorry. Ignore my last e-mail. How do you obtain the
InjectionTarget for the non-CDI interceptor?<br>
<br>
<div class="moz-cite-prefix">On 06/03/2015 12:52 PM, Emily Jiang
wrote:<br>
</div>
<blockquote
cite="mid:CAECq3A8BfpO-XW8xwhbKX91e6pg+q7L82v0JbK2u6W+d9tsuzQ@mail.gmail.com"
type="cite">
<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"><<a moz-do-not-send="true"
href="mailto:jharting@redhat.com" target="_blank">jharting@redhat.com</a>></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 moz-do-not-send="true" href="mailto:ejiang@apache.org"
target="_blank">ejiang@apache.org</a><br>
</div>
</div>
</blockquote>
<br>
</body>
</html>