[00:22:18] *** sbryzak has quit IRC [00:36:27] *** struberg has quit IRC [00:44:44] *** sbryzak has joined #weld-dev [00:44:45] *** sbryzak has joined #weld-dev [04:49:53] *** stuartdouglas has quit IRC [04:52:43] *** stuartdouglas has joined #weld-dev [05:03:38] *** aslak has joined #weld-dev [05:15:38] *** jbossbot has quit IRC [05:17:43] *** jbossbot has joined #weld-dev [06:08:54] *** aslak has quit IRC [06:21:29] *** aslak has joined #weld-dev [06:26:09] *** aslak has quit IRC [07:21:05] *** rruss has joined #weld-dev [07:21:37] *** rruss has quit IRC [08:56:59] *** alesj has joined #weld-dev [09:32:48] *** struberg1 has joined #weld-dev [09:45:13] *** alesj has quit IRC [09:50:22] <struberg1> stu, what does you folks mean with > CDI beans don't support interceptor methods on the beans themselves [09:50:31] <struberg1> you you mean to intercept Bean<T> itself? [09:51:07] <struberg1> or do you mean interceptor-spec style interception on contextual instances? [10:10:19] <stuartdouglas> struberg1: I was wrong :-( [10:10:53] <stuartdouglas> I did not double check before sending the email, which was silly of me [10:39:46] <struberg1> but what did you mean? [10:39:48] <struberg1> stu [10:39:55] *** struberg1 is now known as struberg [10:40:07] <struberg> > CDI beans don't support interceptor methods on the beans [10:40:07] <stuartdouglas> you can put an @AroundInvoke method on a CDI bean [10:40:17] <stuartdouglas> and it will intercept all calls to the bean itself [10:40:26] <struberg> "CDI bean" refers to the contextual instance or Bean<T> ? [10:40:34] <stuartdouglas> contextual instance [10:40:46] <struberg> sure of cours [10:40:49] <struberg> course [10:41:06] <stuartdouglas> class MyBean { @AroundInvoke Object intercept(?.) {} } [10:42:04] <struberg> kk I thought you mean intercepting manually added Bean<T>s ... [10:54:41] <struberg> re [10:55:15] <struberg> stu but you can apply @AroundInvoke on @Dependent beans [10:55:25] <struberg> only [10:55:56] <stuartdouglas> why only on @Depdent [10:56:07] <struberg> because interceptors are defined to be dependent beans [10:56:12] <struberg> in JSR-299 [10:56:22] <stuartdouglas> hmm [10:56:36] <stuartdouglas> I don't know if that really applied [10:56:36] <struberg> mom, looking in the spec [10:56:42] <struberg> sure does [10:56:49] <struberg> 1 interceptor per contextual instance [10:56:58] <struberg> if you need 'shared' info [10:57:05] <struberg> then just create e.g. an @ApplicationScoped bean [10:57:13] <stuartdouglas> I am not sure that having an @AroundInvoke method for self interception qualifies it as an interceptor [10:57:15] <struberg> and @Inject it into your interceptor ;) [10:58:46] <struberg> how does @AroundInvoke work without InterceptorBinding? [10:59:27] <struberg> sorry s/InterceptorBinding/Interceptor [10:59:39] <struberg> thus is javax.interceptor.Interceptor [10:59:57] <stuartdouglas> you just put it on the bean class itself [11:00:14] <stuartdouglas> and any invocations on the bean will get intercepted by the AroundInvoke method [11:00:53] <struberg> AroundInvoke has Target METHOD only [11:00:58] <struberg> so how apply it on a class? [11:01:14] <struberg> I think I misunderstand you, have an example for me? [11:01:42] <stuartdouglas> sorry, you apply it to an interceptor method on the class [11:01:49] <struberg> sure of course [11:01:56] <struberg> but then this method is an interceptor method [11:02:25] <struberg> but how to apply it to another class without javax.interceptor.Interceptors or an @InterceptorBinding annotation? [11:02:43] <stuartdouglas> http://pastebin.com/ExvCp6rq [11:03:02] <stuartdouglas> in that case calls to someMethod get intercepted by invoke() [11:03:33] <struberg> where is that defined? [11:03:42] <struberg> I cannot see this from the Interceptors-spec [11:04:20] <stuartdouglas> It is badly explained by the interceptors spec [11:05:03] <struberg> I don't read it out from there at all ;) [11:05:09] <stuartdouglas> Multiple Method Interceptor Methods [11:05:20] <stuartdouglas> where it talks about @AroundInvoke on the target class [11:05:32] <struberg> and it would clash with CDI and general usage of @InterceptorBinding [11:05:54] <stuartdouglas> why would it clash with @InterceptorBinding? [11:06:10] <struberg> because if you have a CDI interceptor [11:06:21] <struberg> then you also have @Aroundinvoke on this classes [11:06:32] <struberg> but if you have any methods on the interceptor class as well [11:06:41] <struberg> then those need to get intercepted by itself ^^ [11:06:46] <struberg> sick I'd call this [11:07:17] <stuartdouglas> if you have an @AroundInvoke method on the interceptor class [11:07:36] <stuartdouglas> then it is the interceptor method, not a self interceptor [11:08:02] <struberg> and where is the distinction in the spec? ;) [11:08:13] <struberg> this is all just 'open interpretation' I fear [11:08:22] <struberg> because the spec itself is ambigous [11:08:44] <stuartdouglas> It amazes me just how bad the EE specs can be [11:08:53] <struberg> yup definitely [11:08:59] <struberg> btw, for @PostConstruct vs @Inject [11:09:05] <struberg> I think there is a definition leak [11:09:18] <struberg> but it should get addressed in the @inject MR spec [11:13:21] *** stuartdouglas has quit IRC [11:13:47] *** stuartdouglas has joined #weld-dev [11:14:55] <struberg> stu I still cannot find the paragraph in the interceptors spec which defines the auto @AroundInvoke behaviour [11:15:09] <struberg> which sentence do you mean? [11:15:33] <stuartdouglas> Where it says "Method interceptors" there is a sentence "Around-invoke methods may be defined on interceptor classes and the target class (or superclass). However, only one around-invoke method may be present on a given class." [11:16:08] <struberg> mom, will check and 'parse' the sentence ;) [11:16:17] <struberg> btw mom != mother [11:16:23] <struberg> mom == 1 moment please ;) [11:16:23] <stuartdouglas> the "target class" bit is the important bit [11:16:26] <struberg> just in case ;) [11:32:44] <struberg> stu as far as I read it [11:32:49] <struberg> giving your example [11:33:08] <struberg> http://pastebin.com/ExvCp6rq [11:33:19] <struberg> then someMethod will NOT be intercepted [11:33:21] <struberg> BUT [11:34:23] <struberg> it would be fine to have http://pastebin.com/LXtyyyp8 [11:34:36] <struberg> this imo only talks about the interceptor method definition [11:34:47] <stuartdouglas> thats not how it works [11:34:56] <stuartdouglas> which version of the interceptors spec are you looking at? [11:35:02] <struberg> thus you can use @AroundInvoke methods of the same class as param for @Interceptors [11:35:12] <struberg> without the need to specify an own @Interceptor [11:35:16] <struberg> thats all [11:35:22] <struberg> but there is NO auto-interception [11:35:28] <struberg> latest final [11:35:34] <struberg> from EJB-3.1 spec [11:35:35] <jbossbot> jira [EJB-3] Hibernate Annotations 3.0beta1 incompatible with Hibernate 3.0.5 [Closed (Rejected) Bug, Blocker, Unassigned] https://hibernate.onjira.com/browse/EJB-3 [11:36:47] <stuartdouglas> I think you are reading it wrong [11:37:00] <struberg> kk [11:37:10] <stuartdouglas> when it talks about @AroundInvoke on the "target bean class" that means on the EJB or managed bean class [11:37:30] <stuartdouglas> and these always get called, even if they are not listed in an @Interceptors annotation [11:38:02] <struberg> I take this as give for now [11:38:22] <struberg> I'll push it to the EJB EG to clarify this in the spec wording [12:12:03] *** struberg has quit IRC [12:23:23] *** struberg has joined #weld-dev [12:40:31] *** struberg has quit IRC [16:02:51] *** struberg1 has joined #weld-dev [16:21:55] *** alesj has joined #weld-dev [16:23:11] *** alesj has quit IRC [16:47:50] *** alesj has joined #weld-dev [17:20:25] *** struberg1 has quit IRC [17:34:42] *** ge0ffrey has quit IRC [18:37:38] *** alesj has quit IRC [18:39:06] *** alesj has joined #weld-dev [18:43:18] *** alesj has left #weld-dev [20:09:16] *** alesj has joined #weld-dev [20:19:37] *** emmanuel has joined #weld-dev [21:03:39] *** emmanuel has quit IRC [21:06:30] *** emmanuel has joined #weld-dev [21:23:53] *** alesj has quit IRC [22:50:17] *** emmanuel has quit IRC [22:52:05] *** epbernard has joined #weld-dev [22:52:05] *** epbernard is now known as emmanuel [22:52:05] *** emmanuel has joined #weld-dev [23:09:07] *** struberg has joined #weld-dev [23:15:13] *** struberg has quit IRC