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 <luisalve...@gmail.com> 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 <luisalve...@gmail.com> 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 <
>> andraschko.tho...@gmail.com> 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 <luisalve...@gmail.com>:
>>>
>>> > uhm...that's not good :S
>>> >
>>> > the annotation is this one:
>>> >
>>> > https://static.javadoc.io/javax.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 <
>>> > andraschko.tho...@gmail.com> 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 <
>>> > andraschko.tho...@gmail.com
>>> > > >:
>>> > >
>>> > > > 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 <
>>> luisalve...@gmail.com>
>>> > > >> 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 <
>>> luisalve...@gmail.com>
>>> > > >> 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 <
>>> > > >> >> andraschko.tho...@gmail.com> wrote:
>>> > > >> >>
>>> > > >> >>> No idea, debug if the interceptor is really called ;)
>>> > > >> >>>
>>> > > >> >>> 2018-04-20 13:56 GMT+02:00 Luís Alves <luisalve...@gmail.com
>>> >:
>>> > > >> >>>
>>> > > >> >>> > 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 <
>>> > > luisalve...@gmail.com
>>> > > >> >
>>> > > >> >>> > 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/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>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 <
>>> > > >> >>> > > andraschko.tho...@gmail.com> 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 <
>>> luisalve...@gmail.com
>>> > >:
>>> > > >> >>> > >>
>>> > > >> >>> > >> > 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 <
>>> > > >> >>> luisalve...@gmail.com>
>>> > > >> >>> > >> > 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/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.
>>> > > >> >>> > >> > 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 <
>>> > > >> >>> luisalve...@gmail.com
>>> > > >> >>> > >
>>> > > >> >>> > >> > > 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
>>> <
>>> > > >> >>> > >> > >> andraschko.tho...@gmail.com> 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 <
>>> > > >> >>> > >> > >>> andraschko.tho...@gmail.com>:
>>> > > >> >>> > >> > >>>
>>> > > >> >>> > >> > >>> > 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 <
>>> > > >> >>> luisalve...@gmail.com>:
>>> > > >> >>> > >> > >>> >
>>> > > >> >>> > >> > >>> >> 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 <
>>> > > >> >>> > >> luisalve...@gmail.com
>>> > > >> >>> > >> > >
>>> > > >> >>> > >> > >>> >> 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 <
>>> > > >> >>> > >> > luisalve...@gmail.com>
>>> > > >> >>> > >> > >>> >> 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 <
>>> > > >> >>> > >> > luisalve...@gmail.com
>>> > > >> >>> > >> > >>> >
>>> > > >> >>> > >> > >>> >> >> 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
>>> > > >> >>> > >> > >>> >> >>>
>>> > > >> >>> > >> > >>> >> >>
>>> > > >> >>> > >> > >>> >> >>
>>> > > >> >>> > >> > >>> >> >
>>> > > >> >>> > >> > >>> >>
>>> > > >> >>> > >> > >>> >
>>> > > >> >>> > >> > >>> >
>>> > > >> >>> > >> > >>>
>>> > > >> >>> > >> > >>
>>> > > >> >>> > >> > >>
>>> > > >> >>> > >> > >
>>> > > >> >>> > >> >
>>> > > >> >>> > >>
>>> > > >> >>> > >
>>> > > >> >>> > >
>>> > > >> >>> >
>>> > > >> >>>
>>> > > >> >>
>>> > > >> >>
>>> > > >> >
>>> > > >>
>>> > > >
>>> > >
>>> >
>>>
>>
>>
>

Reply via email to