I have to leave :( don't do any change until I can confirm everything ;( have a nice weekend.
On Fri, Apr 20, 2018 at 5:12 PM, Luís Alves <[email protected]> wrote: > well....I think we might have an issue with the proceed part: > > try { > //Call the annotated method > result = this.proceed(invocation); <-- this is not calling my > method...I think is because the invocation is org.apache.deltaspike.proxy. > impl.invocation.ManualInvocationContext@69b38203 instead of my method :( > > any ideas? > > > On Fri, Apr 20, 2018 at 5:07 PM, Luís Alves <[email protected]> wrote: > >> seems to work: org.apache.deltaspike.proxy.im >> pl.invocation.ManualInvocationContext@59fae308 >> >> not sure the cache is actually working but I think it's not related with >> DS. If possible release a version with the fix: >> >> @ApplicationScoped >> @Specializes >> public class CustomDeltaSpikeProxyInterceptorLookup extends >> InterceptorLookup >> { >> >> @Override >> protected void addInterceptorBindings(BeanManager beanManager, >> ArrayList<Annotation> bindings, >> Annotation[] declaredAnnotations) >> { >> for (Annotation annotation : declaredAnnotations) >> { >> if (bindings.contains(annotation)) >> { >> continue; >> } >> >> Class<? extends Annotation> annotationType = >> annotation.annotationType(); >> >> * if (**beanManager.isInterceptorBinding(annotationType))* >> { >> bindings.add(annotation); >> } >> >> if (beanManager.isStereotype(annotationType)) *///fun part >> is that here is well done ;)* >> { >> for (Annotation subAnnotation : >> annotationType.getDeclaredAnnotations()) >> { >> if (bindings.contains(subAnnotation)) >> { >> continue; >> } >> >> if (subAnnotation.annotationType( >> ).isAnnotationPresent(InterceptorBinding.class)) >> { >> bindings.add(subAnnotation); >> } >> } >> } >> } >> } >> >> Thanks very much Thomas :) >> >> >> On Fri, Apr 20, 2018 at 4:48 PM, Luís Alves <[email protected]> >> wrote: >> >>> found this one: org.apache.deltaspike.proxy.im >>> pl.invocation.InterceptorLookup on version 1.8.0 >>> >>> On Fri, Apr 20, 2018 at 4:43 PM, Luís Alves <[email protected]> >>> wrote: >>> >>>> where the hell is DeltaSpikeProxyInterceptorLookup? which jar I have >>>> to import?! >>>> >>>> >>>> On Fri, Apr 20, 2018 at 4:25 PM, Luís Alves <[email protected]> >>>> wrote: >>>> >>>>> I'll try....@Specializes on CustomDeltaSpikeProxyInterceptorLookup >>>>> extends DeltaSpikeProxyInterceptorLookup should do the trick. >>>>> >>>>> On Fri, Apr 20, 2018 at 4:19 PM, Thomas Andraschko < >>>>> [email protected]> wrote: >>>>> >>>>>> https://docs.jboss.org/cdi/api/2.0/javax/enterprise/inject/s >>>>>> pi/BeanManager.html#isInterceptorBinding-java.lang.Class- >>>>>> >>>>>> Would be great if you can test it, create a issue and provide a patch. >>>>>> >>>>>> Am Freitag, 20. April 2018 schrieb Luís Alves : >>>>>> >>>>>> > I have no idea if it's possible or not. Isn't any CDI expert on the >>>>>> mailing >>>>>> > list that want to help? ;) >>>>>> > >>>>>> > https://docs.oracle.com/javaee/7/api/javax/enterprise/inject/spi/ >>>>>> > BeforeBeanDiscovery.html#addInterceptorBinding-javax.enterpr >>>>>> ise.inject.spi >>>>>> > . >>>>>> > AnnotatedType- doesn't make the annotation visible to >>>>>> (annotationType. >>>>>> > isAnnotationPresent(InterceptorBinding.class))...we need some >>>>>> runtime way >>>>>> > to check it... >>>>>> > >>>>>> > BTW if a solutions is found can you make it available on 1.8.2? >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> > On Fri, Apr 20, 2018 at 3:33 PM, Thomas Andraschko < >>>>>> > [email protected]> wrote: >>>>>> > >>>>>> > > Yep, they add the interceptorBinding dynamically: >>>>>> > > https://github.com/jsr107/RI/blob/master/cache-annotations- >>>>>> > > ri/cache-annotations-ri-cdi/src/main/java/org/jsr107/ri/anno >>>>>> tations/cdi/ >>>>>> > > InterceptorExtension.java >>>>>> > > >>>>>> > > Just check our code here: >>>>>> > > https://github.com/apache/deltaspike/blob/master/ >>>>>> > > deltaspike/modules/proxy/api/src/main/java/org/apache/ >>>>>> > > deltaspike/proxy/spi/invocation/DeltaSpikeProxyInterceptorLook >>>>>> > up.java#L90 >>>>>> > > >>>>>> > > This code would need ask CDI if this annotation is a interceptor >>>>>> binding >>>>>> > > (if possible, not sure if it's in the CDI API). Then your case >>>>>> should >>>>>> > work. >>>>>> > > >>>>>> > > 2018-04-20 16:25 GMT+02:00 Luís Alves <[email protected]>: >>>>>> > > >>>>>> > > > This is the reference implementation of the interceptors: >>>>>> > > > https://github.com/jsr107/RI >>>>>> > > > They have: >>>>>> > > > >>>>>> > > > <beans xmlns="http://java.sun.com/xml/ns/javaee" >>>>>> > > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>>>> > > > xsi:schemaLocation=" >>>>>> > > > http://java.sun.com/xml/ns/javaee >>>>>> > > > http://java.sun.com/xml/ns/javaee/beans_1_0.xsd"> >>>>>> > > > <interceptors> >>>>>> > > > <class>org.jsr107.ri.annotations.cdi. >>>>>> > > > CacheResultInterceptor</class> >>>>>> > > > <class>org.jsr107.ri.annotations.cdi. >>>>>> > CachePutInterceptor</class> >>>>>> > > > >>>>>> > > > <class>org.jsr107.ri.annotations.cdi.CacheRemoveEntryInterce >>>>>> ptor</ >>>>>> > class> >>>>>> > > > >>>>>> > > > <class>org.jsr107.ri.annotations.cdi.CacheRemoveAllIntercept >>>>>> or</class> >>>>>> > > > </interceptors> >>>>>> > > > </beans> >>>>>> > > > >>>>>> > > > and they have 2files with: >>>>>> > > > >>>>>> > > > org.jsr107.ri.annotations.cdi.InterceptorExtension >>>>>> > > > >>>>>> > > > and >>>>>> > > > >>>>>> > > > org.jsr107.ri.annotations.cdi.CdiAnnotationProviderImpl >>>>>> > > > >>>>>> > > > The interceptors work on a normal cdi bean. >>>>>> > > > >>>>>> > > > On Fri, Apr 20, 2018 at 3:17 PM, Thomas Andraschko < >>>>>> > > > [email protected]> wrote: >>>>>> > > > >>>>>> > > > > AFAIK there 2 ways of using interceptors with CDI: >>>>>> > > > > >>>>>> > > > > 1) @InterceptorBinding >>>>>> > > > > 2) @Interceptors(..) >>>>>> > > > > >>>>>> > > > > We only support 1) currently. >>>>>> > > > > >>>>>> > > > > So i have currently no idea how @CacheResult will work even a >>>>>> normal >>>>>> > > CDI >>>>>> > > > > bean. Maybe it's done in Wildfly but not via the "normal" CDI >>>>>> way. >>>>>> > > > > >>>>>> > > > > >>>>>> > > > > >>>>>> > > > > >>>>>> > > > > 2018-04-20 15:48 GMT+02:00 Luís Alves <[email protected] >>>>>> >: >>>>>> > > > > >>>>>> > > > > > Submitted: https://github.com/jsr107/jsr107spec/issues/401 >>>>>> > > > > > I suppose they will tell the issue is from DS...:( >>>>>> > > > > > >>>>>> > > > > > >>>>>> > > > > > On Fri, Apr 20, 2018 at 2:36 PM, Luís Alves < >>>>>> [email protected] >>>>>> > > >>>>>> > > > > wrote: >>>>>> > > > > > >>>>>> > > > > > > I suppose it's CDI capable. >>>>>> > > > > > > >>>>>> > > > > > > https://www.jcp.org/en/jsr/detail?id=107 >>>>>> > > > > > > >>>>>> > > > > > > Red Hat >>>>>> > > > > > > : Pete Muir <--- is on the expert group >>>>>> > > > > > > >>>>>> > > > > > > >>>>>> > > > > > > * @author Gavin King >>>>>> > > > > > > * @author Pete Muir >>>>>> > > > > > > * @author Antoine Sabot-Durand >>>>>> > > > > > > */ >>>>>> > > > > > > >>>>>> > > > > > > @Target({ TYPE, METHOD, FIELD }) >>>>>> > > > > > > @Retention(RUNTIME) >>>>>> > > > > > > @Documented >>>>>> > > > > > > @NormalScope >>>>>> > > > > > > @Inherited >>>>>> > > > > > > public @interface ApplicationScoped { >>>>>> > > > > > > >>>>>> > > > > > > } >>>>>> > > > > > > >>>>>> > > > > > > >>>>>> > > > > > > what I don't understand is how DS look for the >>>>>> interceptors? Can >>>>>> > > you >>>>>> > > > > > point >>>>>> > > > > > > me out the code? >>>>>> > > > > > > Isn't possible to look for all annotations even if they >>>>>> don't >>>>>> > have >>>>>> > > > > > > @InterceptorBinding and then look for the registered >>>>>> > interceptors? >>>>>> > > > > > > >>>>>> > > > > > > >>>>>> > > > > > > >>>>>> > > > > > > >>>>>> > > > > > > On Fri, Apr 20, 2018 at 2:33 PM, Luís Alves < >>>>>> > [email protected] >>>>>> > > > >>>>>> > > > > > wrote: >>>>>> > > > > > > >>>>>> > > > > > >> I suppose it's CDI capable. >>>>>> > > > > > >> >>>>>> > > > > > >> https://www.jcp.org/en/jsr/detail?id=107 >>>>>> > > > > > >> >>>>>> > > > > > >> >>>>>> > > > > > >> >>>>>> > > > > > >> On Fri, Apr 20, 2018 at 2:24 PM, Thomas Andraschko < >>>>>> > > > > > >> [email protected]> wrote: >>>>>> > > > > > >> >>>>>> > > > > > >>> Puh, i wonder why they did it without binding. >>>>>> CacheResult is >>>>>> > > > > actually >>>>>> > > > > > >>> exactly a binding for the interceptor. >>>>>> > > > > > >>> Is it CDI compatible? Never had a look at the cache API >>>>>> ;) >>>>>> > > > > > >>> >>>>>> > > > > > >>> Even there is a bridge or something available ( >>>>>> > > > > > >>> https://github.com/tomitribe/jcache-cdi), i'm not sure >>>>>> if this >>>>>> > > > would >>>>>> > > > > > >>> work >>>>>> > > > > > >>> with the limited ability to add interceptors to partial >>>>>> beans. >>>>>> > > > > > >>> >>>>>> > > > > > >>> I think the best solution for now is to create a own >>>>>> binding. >>>>>> > > > > > >>> >>>>>> > > > > > >>> 2018-04-20 14:55 GMT+02:00 Luís Alves < >>>>>> [email protected]>: >>>>>> > > > > > >>> >>>>>> > > > > > >>> > uhm...that's not good :S >>>>>> > > > > > >>> > >>>>>> > > > > > >>> > the annotation is this one: >>>>>> > > > > > >>> > >>>>>> > > > > > >>> > https://static.javadoc.io/java >>>>>> x.cache/cache-api/1.0.0/ >>>>>> > > > > > >>> > javax/cache/annotation/CacheResult.html >>>>>> > > > > > >>> > >>>>>> > > > > > >>> > is there a way that using that annotation we get the >>>>>> > > interceptor >>>>>> > > > to >>>>>> > > > > > >>> work? >>>>>> > > > > > >>> > (I can implement the interceptor myself....as I said >>>>>> I cannot >>>>>> > > > > modify >>>>>> > > > > > >>> the >>>>>> > > > > > >>> > annotation as it is javax packge) >>>>>> > > > > > >>> > >>>>>> > > > > > >>> > >>>>>> > > > > > >>> > >>>>>> > > > > > >>> > On Fri, Apr 20, 2018 at 1:41 PM, Thomas Andraschko < >>>>>> > > > > > >>> > [email protected]> wrote: >>>>>> > > > > > >>> > >>>>>> > > > > > >>> > > Just to be clear: I have no idea how internally >>>>>> CacheResult >>>>>> > > > works >>>>>> > > > > > >>> but our >>>>>> > > > > > >>> > > partial beans only supports CDI interceptors by a >>>>>> binding >>>>>> > > > > > >>> > > (InterceptorBinding). >>>>>> > > > > > >>> > > Everything else, like stated in the doc >>>>>> (@Interceptors, >>>>>> > > > > > @Intercepted, >>>>>> > > > > > >>> > > @Decorator), is not supported. >>>>>> > > > > > >>> > > >>>>>> > > > > > >>> > > 2018-04-20 14:31 GMT+02:00 Thomas Andraschko < >>>>>> > > > > > >>> > [email protected] >>>>>> > > > > > >>> > > >: >>>>>> > > > > > >>> > > >>>>>> > > > > > >>> > > > In must not work without the interceptorbinding. >>>>>> Do you >>>>>> > > mean >>>>>> > > > > that >>>>>> > > > > > >>> it >>>>>> > > > > > >>> > does >>>>>> > > > > > >>> > > > work without? >>>>>> > > > > > >>> > > > >>>>>> > > > > > >>> > > > >>>>>> > > > > > >>> > > > Am Freitag, 20. April 2018 schrieb Luís Alves : >>>>>> > > > > > >>> > > > >>>>>> > > > > > >>> > > >> can you update your test to remove >>>>>> @InterceptorBinding? >>>>>> > > and >>>>>> > > > > > check >>>>>> > > > > > >>> if >>>>>> > > > > > >>> > it >>>>>> > > > > > >>> > > >> works? >>>>>> > > > > > >>> > > >> >>>>>> > > > > > >>> > > >> javax.cache.annotation.CacheResult is standard >>>>>> so I >>>>>> > > don't >>>>>> > > > > want >>>>>> > > > > > >>> to >>>>>> > > > > > >>> > > extend >>>>>> > > > > > >>> > > >> it to have the @InterceptorBinding.....if this >>>>>> is really >>>>>> > > the >>>>>> > > > > > >>> problem. >>>>>> > > > > > >>> > > >> >>>>>> > > > > > >>> > > >> On Fri, Apr 20, 2018 at 1:11 PM, Luís Alves < >>>>>> > > > > > >>> [email protected]> >>>>>> > > > > > >>> > > >> wrote: >>>>>> > > > > > >>> > > >> >>>>>> > > > > > >>> > > >> > @Retention(RUNTIME) >>>>>> > > > > > >>> > > >> > @Target({ TYPE, METHOD }) >>>>>> > > > > > >>> > > >> > // @InterceptorBinding >>>>>> > > > > > >>> > > >> > public @interface CustomInterceptor >>>>>> > > > > > >>> > > >> > { >>>>>> > > > > > >>> > > >> > } >>>>>> > > > > > >>> > > >> > >>>>>> > > > > > >>> > > >> > I suspect is this @InterceptorBinding....but >>>>>> not 100% >>>>>> > > > > > >>> sure....what >>>>>> > > > > > >>> > is >>>>>> > > > > > >>> > > >> the >>>>>> > > > > > >>> > > >> > purpose of that? >>>>>> > > > > > >>> > > >> > >>>>>> > > > > > >>> > > >> > On Fri, Apr 20, 2018 at 1:06 PM, Luís Alves < >>>>>> > > > > > >>> [email protected]> >>>>>> > > > > > >>> > > >> wrote: >>>>>> > > > > > >>> > > >> > >>>>>> > > > > > >>> > > >> >> don't you want to rewrite your tests with the >>>>>> > > > @CacheResult >>>>>> > > > > > >>> > > interceptor >>>>>> > > > > > >>> > > >> ;) >>>>>> > > > > > >>> > > >> >> ? to see if it works? >>>>>> > > > > > >>> > > >> >> >>>>>> > > > > > >>> > > >> >> On Fri, Apr 20, 2018 at 12:57 PM, Thomas >>>>>> Andraschko < >>>>>> > > > > > >>> > > >> >> [email protected]> wrote: >>>>>> > > > > > >>> > > >> >> >>>>>> > > > > > >>> > > >> >>> No idea, debug if the interceptor is really >>>>>> called >>>>>> > ;) >>>>>> > > > > > >>> > > >> >>> >>>>>> > > > > > >>> > > >> >>> 2018-04-20 13:56 GMT+02:00 Luís Alves < >>>>>> > > > > > [email protected] >>>>>> > > > > > >>> >: >>>>>> > > > > > >>> > > >> >>> >>>>>> > > > > > >>> > > >> >>> > moved the @CustomInterceptor declaration >>>>>> of the >>>>>> > > > > > interceptor >>>>>> > > > > > >>> for >>>>>> > > > > > >>> > > the >>>>>> > > > > > >>> > > >> >>> web app >>>>>> > > > > > >>> > > >> >>> > beans.xml and now it gets called....SO it >>>>>> should >>>>>> > > work >>>>>> > > > > for >>>>>> > > > > > >>> the >>>>>> > > > > > >>> > > cache >>>>>> > > > > > >>> > > >> as >>>>>> > > > > > >>> > > >> >>> > well. Any hint? >>>>>> > > > > > >>> > > >> >>> > >>>>>> > > > > > >>> > > >> >>> > On Fri, Apr 20, 2018 at 12:43 PM, Luís >>>>>> Alves < >>>>>> > > > > > >>> > > [email protected] >>>>>> > > > > > >>> > > >> > >>>>>> > > > > > >>> > > >> >>> > wrote: >>>>>> > > > > > >>> > > >> >>> > >>>>>> > > > > > >>> > > >> >>> > > So I've created a custom one (in fact is >>>>>> a >>>>>> > "copy" >>>>>> > > of >>>>>> > > > > > yours >>>>>> > > > > > >>> > that >>>>>> > > > > > >>> > > >> logs >>>>>> > > > > > >>> > > >> >>> a >>>>>> > > > > > >>> > > >> >>> > > line): >>>>>> > > > > > >>> > > >> >>> > > >>>>>> > > > > > >>> > > >> >>> > > @Interceptor >>>>>> > > > > > >>> > > >> >>> > > @CustomInterceptor >>>>>> > > > > > >>> > > >> >>> > > public class CustomInterceptorImpl >>>>>> implements >>>>>> > > > > > Serializable >>>>>> > > > > > >>> > > >> >>> > > { >>>>>> > > > > > >>> > > >> >>> > > >>>>>> > > > > > >>> > > >> >>> > > private static final long >>>>>> serialVersionUID = >>>>>> > > > > > >>> > > >> >>> 7327752605570037403L; >>>>>> > > > > > >>> > > >> >>> > > >>>>>> > > > > > >>> > > >> >>> > > @Inject >>>>>> > > > > > >>> > > >> >>> > > private Logger logger; >>>>>> > > > > > >>> > > >> >>> > > >>>>>> > > > > > >>> > > >> >>> > > @AroundInvoke >>>>>> > > > > > >>> > > >> >>> > > public Object >>>>>> interceptIt(InvocationContext >>>>>> > > > > > >>> > > invocationContext) >>>>>> > > > > > >>> > > >> >>> throws >>>>>> > > > > > >>> > > >> >>> > > Exception >>>>>> > > > > > >>> > > >> >>> > > { >>>>>> > > > > > >>> > > >> >>> > > logger.info("yay :) >>>>>> > CustomInterceptorImpl >>>>>> > > > was >>>>>> > > > > > >>> > called"); >>>>>> > > > > > >>> > > >> >>> > > return >>>>>> invocationContext.proceed(); >>>>>> > > > > > >>> > > >> >>> > > } >>>>>> > > > > > >>> > > >> >>> > > } >>>>>> > > > > > >>> > > >> >>> > > >>>>>> > > > > > >>> > > >> >>> > > registered on the beans.xml (for service >>>>>> and >>>>>> > repo >>>>>> > > > > > layers): >>>>>> > > > > > >>> > > >> >>> > > >>>>>> > > > > > >>> > > >> >>> > > <?xml version="1.0" encoding="UTF-8"?> >>>>>> > > > > > >>> > > >> >>> > > <beans xmlns="http://java.sun.com/xml >>>>>> /ns/javaee >>>>>> > " >>>>>> > > > > > >>> xmlns:xsi=" >>>>>> > > > > > >>> > > >> >>> > > http://www.w3.org/2001/XMLSche >>>>>> ma-instance" >>>>>> > > > > > >>> > > >> >>> > > xsi:schemaLocation="http:// >>>>>> > > > > > java.sun.com/xml/ns/javaee >>>>>> > > > > > >>> > > >> >>> > > http://java.sun.com/xml/ns/jav >>>>>> aee/beans_1_0.xsd >>>>>> > "> >>>>>> > > > > > >>> > > >> >>> > > >>>>>> > > > > > >>> > > >> >>> > > <interceptors> >>>>>> > > > > > >>> > > >> >>> > > <class>org.jsr107.ri.annotati >>>>>> ons.cdi. >>>>>> > > > > > >>> > > >> >>> > > CacheResultInterceptor</class> >>>>>> > > > > > >>> > > >> >>> > > ... >>>>>> > > > > > >>> > > >> >>> > > <class>eu.gls.ddtm.config. >>>>>> > > > > > >>> > CustomInterceptorImpl</class> >>>>>> > > > > > >>> > > >> >>> > > </interceptors> >>>>>> > > > > > >>> > > >> >>> > > >>>>>> > > > > > >>> > > >> >>> > > </beans> >>>>>> > > > > > >>> > > >> >>> > > >>>>>> > > > > > >>> > > >> >>> > > It's called on the service layer but not >>>>>> on the >>>>>> > > > > > >>> @Repository :( >>>>>> > > > > > >>> > > >> >>> > > >>>>>> > > > > > >>> > > >> >>> > > ...I'm using Wildfly 10 (CDI 1.x)... >>>>>> > > > > > >>> > > >> >>> > > >>>>>> > > > > > >>> > > >> >>> > > >>>>>> > > > > > >>> > > >> >>> > > >>>>>> > > > > > >>> > > >> >>> > > On Fri, Apr 20, 2018 at 11:50 AM, Thomas >>>>>> > > Andraschko >>>>>> > > > < >>>>>> > > > > > >>> > > >> >>> > > [email protected]> wrote: >>>>>> > > > > > >>> > > >> >>> > > >>>>>> > > > > > >>> > > >> >>> > >> You can try with a custom interceptor >>>>>> and check >>>>>> > > if >>>>>> > > > > it's >>>>>> > > > > > >>> > > invoked? >>>>>> > > > > > >>> > > >> >>> > >> >>>>>> > > > > > >>> > > >> >>> > >> I assume you don't use weld-2.0.0.Final >>>>>> or >>>>>> > > > > > >>> weld-2.0.0.SP1? We >>>>>> > > > > > >>> > > >> have a >>>>>> > > > > > >>> > > >> >>> > >> exclusion for this in the unit test as >>>>>> there is >>>>>> > > > > > something >>>>>> > > > > > >>> > > broken, >>>>>> > > > > > >>> > > >> >>> as you >>>>>> > > > > > >>> > > >> >>> > >> can check in the link i posted before. >>>>>> > > > > > >>> > > >> >>> > >> Otherwise, it would be great if you >>>>>> could >>>>>> > > provide a >>>>>> > > > > > >>> unittest >>>>>> > > > > > >>> > > for >>>>>> > > > > > >>> > > >> the >>>>>> > > > > > >>> > > >> >>> > data >>>>>> > > > > > >>> > > >> >>> > >> module. >>>>>> > > > > > >>> > > >> >>> > >> I don't have time to prepare it by >>>>>> myself. >>>>>> > > > > > >>> > > >> >>> > >> >>>>>> > > > > > >>> > > >> >>> > >> >>>>>> > > > > > >>> > > >> >>> > >> 2018-04-20 12:40 GMT+02:00 Luís Alves < >>>>>> > > > > > >>> [email protected] >>>>>> > > > > > >>> > >: >>>>>> > > > > > >>> > > >> >>> > >> >>>>>> > > > > > >>> > > >> >>> > >> > So far no success...@CacheResult on >>>>>> > > > > > >>> > > >> >>> > >> > >>>>>> > > > > > >>> > > >> >>> > >> > @ApplicationScoped >>>>>> > > > > > >>> > > >> >>> > >> > @Repository >>>>>> > > > > > >>> > > >> >>> > >> > public abstract class SomeRepository >>>>>> > > > > > >>> > > >> >>> > >> > >>>>>> > > > > > >>> > > >> >>> > >> > doesn't seem to work :S not sure what >>>>>> I'm >>>>>> > doing >>>>>> > > > > > wrong. >>>>>> > > > > > >>> > > >> >>> > >> > >>>>>> > > > > > >>> > > >> >>> > >> > >>>>>> > > > > > >>> > > >> >>> > >> > On Fri, Apr 20, 2018 at 11:03 AM, >>>>>> Luís Alves >>>>>> > < >>>>>> > > > > > >>> > > >> >>> [email protected]> >>>>>> > > > > > >>> > > >> >>> > >> > wrote: >>>>>> > > > > > >>> > > >> >>> > >> > >>>>>> > > > > > >>> > > >> >>> > >> > > I ditched the CustomBaseRepository >>>>>> for >>>>>> > > > now...but >>>>>> > > > > > >>> still >>>>>> > > > > > >>> > > can't >>>>>> > > > > > >>> > > >> >>> get the >>>>>> > > > > > >>> > > >> >>> > >> > cache >>>>>> > > > > > >>> > > >> >>> > >> > > interceptor to work...here is my >>>>>> beans.xml: >>>>>> > > > > > >>> > > >> >>> > >> > > >>>>>> > > > > > >>> > > >> >>> > >> > > <?xml version="1.0" >>>>>> encoding="UTF-8"?> >>>>>> > > > > > >>> > > >> >>> > >> > > <beans xmlns="http://java.sun.com/ >>>>>> > > > xml/ns/javaee" >>>>>> > > > > > >>> > > xmlns:xsi=" >>>>>> > > > > > >>> > > >> >>> > >> > > http://www.w3.org/2001/XMLSche >>>>>> ma-instance" >>>>>> > > > > > >>> > > >> >>> > >> > > xsi:schemaLocation="http:// >>>>>> > > > > > >>> > java.sun.com/xml/ns/javaee >>>>>> > > > > > >>> > > >> >>> > >> > > http://java.sun.com/xml/ns/ >>>>>> > > > javaee/beans_1_0.xsd >>>>>> > > > > "> >>>>>> > > > > > >>> > > >> >>> > >> > > >>>>>> > > > > > >>> > > >> >>> > >> > > <interceptors> >>>>>> > > > > > >>> > > >> >>> > >> > > <class>org.jsr107.ri. >>>>>> > > annotations.cdi. >>>>>> > > > > > >>> > > >> >>> > >> > > CacheResultInterceptor</class> >>>>>> > > > > > >>> > > >> >>> > >> > > <class>org.jsr107.ri. >>>>>> > > annotations.cdi. >>>>>> > > > > > >>> > > >> >>> > >> > CacheRemoveEntryInterceptor</ >>>>>> > > > > > >>> > > >> >>> > >> > > class> >>>>>> > > > > > >>> > > >> >>> > >> > > >>>>>> <class>org.jsr107.ri.annotati >>>>>> > > > > > >>> > > >> >>> ons.cdi.CacheRemoveAllIntercep >>>>>> > > > > > >>> > > >> >>> > >> tor</ >>>>>> > > > > > >>> > > >> >>> > >> > > class> >>>>>> > > > > > >>> > > >> >>> > >> > > >>>>>> <class>org.jsr107.ri.annotati >>>>>> > > > > > >>> > > >> >>> ons.cdi.CachePutInterceptor</ >>>>>> > > > > > >>> > > >> >>> > >> class> >>>>>> > > > > > >>> > > >> >>> > >> > > </interceptors> >>>>>> > > > > > >>> > > >> >>> > >> > > >>>>>> > > > > > >>> > > >> >>> > >> > > </beans> >>>>>> > > > > > >>> > > >> >>> > >> > > >>>>>> > > > > > >>> > > >> >>> > >> > > >>>>>> > > > > > >>> > > >> >>> > >> > > LA >>>>>> > > > > > >>> > > >> >>> > >> > > >>>>>> > > > > > >>> > > >> >>> > >> > > On Fri, Apr 20, 2018 at 10:45 AM, >>>>>> Luís >>>>>> > Alves >>>>>> > > < >>>>>> > > > > > >>> > > >> >>> [email protected] >>>>>> > > > > > >>> > > >> >>> > > >>>>>> > > > > > >>> > > >> >>> > >> > > wrote: >>>>>> > > > > > >>> > > >> >>> > >> > > >>>>>> > > > > > >>> > > >> >>> > >> > >> Thanks Thomas, >>>>>> > > > > > >>> > > >> >>> > >> > >> >>>>>> > > > > > >>> > > >> >>> > >> > >> if I understood correctly if they >>>>>> are on >>>>>> > the >>>>>> > > > > > >>> bean.xml >>>>>> > > > > > >>> > they >>>>>> > > > > > >>> > > >> >>> should >>>>>> > > > > > >>> > > >> >>> > >> works >>>>>> > > > > > >>> > > >> >>> > >> > >> :)...only annotated one don't work. >>>>>> > > > > > >>> > > >> >>> > >> > >> >>>>>> > > > > > >>> > > >> >>> > >> > >> I'm now (not sure why I didn't had >>>>>> it >>>>>> > > before) >>>>>> > > > > > >>> getting: >>>>>> > > > > > >>> > > >> >>> > >> > >> org.apache.deltaspike.data.imp >>>>>> > > > > > >>> > > >> l.RepositoryDefinitionException: >>>>>> > > > > > >>> > > >> >>> > >> > >> Repository creation for class class >>>>>> > > > > > >>> CustomBaseRepository >>>>>> > > > > > >>> > > >> >>> failed. Is >>>>>> > > > > > >>> > > >> >>> > >> it >>>>>> > > > > > >>> > > >> >>> > >> > >> associated with a valid Entity? I >>>>>> got this >>>>>> > > > base >>>>>> > > > > > >>> class >>>>>> > > > > > >>> > for >>>>>> > > > > > >>> > > >> some >>>>>> > > > > > >>> > > >> >>> > >> > repositories >>>>>> > > > > > >>> > > >> >>> > >> > >> for some similar behavior: >>>>>> > > > > > >>> > > >> >>> > >> > >> >>>>>> > > > > > >>> > > >> >>> > >> > >> public abstract class >>>>>> CustomBaseRepository >>>>>> > > <E >>>>>> > > > > > >>> extends >>>>>> > > > > > >>> > > >> >>> > >> DomainObject<K>, K >>>>>> > > > > > >>> > > >> >>> > >> > >> extends Serializable> >>>>>> > > > > > >>> > > >> >>> > >> > >> extends >>>>>> > AbstractEntityRepository<E, >>>>>> > > K> >>>>>> > > > > > >>> > > >> >>> > >> > >> { >>>>>> > > > > > >>> > > >> >>> > >> > >> >>>>>> > > > > > >>> > > >> >>> > >> > >> not sure if this inheritance is >>>>>> supposed >>>>>> > to >>>>>> > > > work >>>>>> > > > > > >>> with >>>>>> > > > > > >>> > the >>>>>> > > > > > >>> > > >> >>> Repos... >>>>>> > > > > > >>> > > >> >>> > >> > >> >>>>>> > > > > > >>> > > >> >>> > >> > >> >>>>>> > > > > > >>> > > >> >>> > >> > >> >>>>>> > > > > > >>> > > >> >>> > >> > >> On Fri, Apr 20, 2018 at 10:23 AM, >>>>>> Thomas >>>>>> > > > > > Andraschko >>>>>> > > > > > >>> < >>>>>> > > > > > >>> > > >> >>> > >> > >> [email protected]> >>>>>> wrote: >>>>>> > > > > > >>> > > >> >>> > >> > >> >>>>>> > > > > > >>> > > >> >>> > >> > >>> See: >>>>>> > > > > > >>> > > >> >>> > >> > >>> https://github.com/apache/delt >>>>>> > > > > > >>> > > >> aspike/tree/master/deltaspike/ >>>>>> > > > > > >>> > > >> >>> > >> > >>> modules/partial-bean/impl/src/ >>>>>> > > > > > >>> > > >> test/java/org/apache/deltaspik >>>>>> > > > > > >>> > > >> >>> > >> > >>> e/test/core/api/partialbean/uc008 >>>>>> > > > > > >>> > > >> >>> > >> > >>> >>>>>> > > > > > >>> > > >> >>> > >> > >>> 2018-04-20 11:22 GMT+02:00 Thomas >>>>>> > > Andraschko >>>>>> > > > < >>>>>> > > > > > >>> > > >> >>> > >> > >>> [email protected]>: >>>>>> > > > > > >>> > > >> >>> > >> > >>> >>>>>> > > > > > >>> > > >> >>> > >> > >>> > Interceptors in generell should >>>>>> be >>>>>> > > > supported >>>>>> > > > > > but >>>>>> > > > > > >>> only >>>>>> > > > > > >>> > > via >>>>>> > > > > > >>> > > >> >>> custom >>>>>> > > > > > >>> > > >> >>> > >> > >>> binding - >>>>>> > > > > > >>> > > >> >>> > >> > >>> > not via "@Interceptors, >>>>>> @Intercepted >>>>>> > and >>>>>> > > > > > >>> @Decorator" >>>>>> > > > > > >>> > > >> >>> > >> > >>> > >>>>>> > > > > > >>> > > >> >>> > >> > >>> > 2018-04-20 11:21 GMT+02:00 Luís >>>>>> Alves < >>>>>> > > > > > >>> > > >> >>> [email protected]>: >>>>>> > > > > > >>> > > >> >>> > >> > >>> > >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> So far I found that >>>>>> @Repository is >>>>>> > > > actually >>>>>> > > > > a >>>>>> > > > > > >>> > > >> >>> > @PartialBeanBinding >>>>>> > > > > > >>> > > >> >>> > >> > and >>>>>> > > > > > >>> > > >> >>> > >> > >>> I >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> found: "Currently CDI >>>>>> Interceptors >>>>>> > > applied >>>>>> > > > > via >>>>>> > > > > > >>> > > >> >>> @Interceptors, >>>>>> > > > > > >>> > > >> >>> > >> > >>> @Intercepted >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> and @Decorator are not >>>>>> supported by >>>>>> > our >>>>>> > > > > > proxies! >>>>>> > > > > > >>> > > >> "...does >>>>>> > > > > > >>> > > >> >>> it >>>>>> > > > > > >>> > > >> >>> > >> means >>>>>> > > > > > >>> > > >> >>> > >> > >>> that >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> I'm >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> screwed ;)? >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> LA >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> On Fri, Apr 20, 2018 at 10:11 >>>>>> AM, Luís >>>>>> > > > > Alves < >>>>>> > > > > > >>> > > >> >>> > >> [email protected] >>>>>> > > > > > >>> > > >> >>> > >> > > >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> wrote: >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> > even with @ApplicationScoped >>>>>> the >>>>>> > > > > interceptor >>>>>> > > > > > >>> is >>>>>> > > > > > >>> > not >>>>>> > > > > > >>> > > >> >>> working >>>>>> > > > > > >>> > > >> >>> > :( >>>>>> > > > > > >>> > > >> >>> > >> > can't >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> > figure out why...can't >>>>>> @Repository >>>>>> > > > methods >>>>>> > > > > > be >>>>>> > > > > > >>> > > >> >>> intercepted? >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> > >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> > >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> > >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> > On Fri, Apr 20, 2018 at 9:53 >>>>>> AM, >>>>>> > Luís >>>>>> > > > > Alves >>>>>> > > > > > < >>>>>> > > > > > >>> > > >> >>> > >> > [email protected]> >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> wrote: >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> > >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >> since it's proxied...it >>>>>> should be >>>>>> > > > OK...I >>>>>> > > > > > >>> guess >>>>>> > > > > > >>> > it's >>>>>> > > > > > >>> > > >> like >>>>>> > > > > > >>> > > >> >>> > >> > Spring's >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >> repositories. >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >> >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >> On Fri, Apr 20, 2018 at >>>>>> 9:44 AM, >>>>>> > Luís >>>>>> > > > > > Alves < >>>>>> > > > > > >>> > > >> >>> > >> > [email protected] >>>>>> > > > > > >>> > > >> >>> > >> > >>> > >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >> wrote: >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >> >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> Hi, >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> @Repository is @Dependent >>>>>> > > scoped...and >>>>>> > > > > > seems >>>>>> > > > > > >>> > that >>>>>> > > > > > >>> > > >> >>> > @Dependent >>>>>> > > > > > >>> > > >> >>> > >> > >>> don't run >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> interceptors, so >>>>>> > > > @CacheResult(cacheName >>>>>> > > > > = >>>>>> > > > > > >>> > > >> "my-cache") >>>>>> > > > > > >>> > > >> >>> > >> annotation >>>>>> > > > > > >>> > > >> >>> > >> > >>> isn't >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> working :( >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> I remember that some one >>>>>> proposed >>>>>> > > that >>>>>> > > > > > >>> > @Repository >>>>>> > > > > > >>> > > >> >>> > >> could/should >>>>>> > > > > > >>> > > >> >>> > >> > be >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> @ApplicationScoped...if I >>>>>> change >>>>>> > > them >>>>>> > > > > do >>>>>> > > > > > I >>>>>> > > > > > >>> have >>>>>> > > > > > >>> > > to >>>>>> > > > > > >>> > > >> >>> worry >>>>>> > > > > > >>> > > >> >>> > >> with >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> anything? My >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> EntityManager producer is >>>>>> the >>>>>> > > > following: >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> @Produces >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> @RequestScoped >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> public EntityManager >>>>>> get() >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> { >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> return >>>>>> entityManager; >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> } >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> I suppose I'll have a >>>>>> different EM >>>>>> > > for >>>>>> > > > > > each >>>>>> > > > > > >>> HTTP >>>>>> > > > > > >>> > > >> >>> request / >>>>>> > > > > > >>> > > >> >>> > >> MDB >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> onMessage() / >>>>>> > > > @Scheduled(cronExpression >>>>>> > > > > > >>> > > >> ="....")...am I >>>>>> > > > > > >>> > > >> >>> > >> correct? >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> regards, >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> LA >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>> >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >> >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >> >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> > >>>>>> > > > > > >>> > > >> >>> > >> > >>> >> >>>>>> > > > > > >>> > > >> >>> > >> > >>> > >>>>>> > > > > > >>> > > >> >>> > >> > >>> > >>>>>> > > > > > >>> > > >> >>> > >> > >>> >>>>>> > > > > > >>> > > >> >>> > >> > >> >>>>>> > > > > > >>> > > >> >>> > >> > >> >>>>>> > > > > > >>> > > >> >>> > >> > > >>>>>> > > > > > >>> > > >> >>> > >> > >>>>>> > > > > > >>> > > >> >>> > >> >>>>>> > > > > > >>> > > >> >>> > > >>>>>> > > > > > >>> > > >> >>> > > >>>>>> > > > > > >>> > > >> >>> > >>>>>> > > > > > >>> > > >> >>> >>>>>> > > > > > >>> > > >> >> >>>>>> > > > > > >>> > > >> >> >>>>>> > > > > > >>> > > >> > >>>>>> > > > > > >>> > > >> >>>>>> > > > > > >>> > > > >>>>>> > > > > > >>> > > >>>>>> > > > > > >>> > >>>>>> > > > > > >>> >>>>>> > > > > > >> >>>>>> > > > > > >> >>>>>> > > > > > > >>>>>> > > > > > >>>>>> > > > > >>>>>> > > > >>>>>> > > >>>>>> > >>>>>> >>>>> >>>>> >>>> >>> >> >
