@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/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 <
>> > > [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/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 <
>> [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.impl.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/deltaspike/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
>> > >> > >>> >> >>>
>> > >> > >>> >> >>
>> > >> > >>> >> >>
>> > >> > >>> >> >
>> > >> > >>> >>
>> > >> > >>> >
>> > >> > >>> >
>> > >> > >>>
>> > >> > >>
>> > >> > >>
>> > >> > >
>> > >> >
>> > >>
>> > >
>> > >
>> >
>>
>
>

Reply via email to