October 2, 2011  
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31

[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

top