[cdi-dev] intercepted private @PostConstruct method behaviour?
Mark Struberg
struberg at yahoo.de
Sat Jan 5 09:24:26 EST 2013
I guess I found the answer by studying the interceptors spec. It states that
"The PostConstruct and PreDestroy, annotations are used to define an interceptor
method for a lifecycle callback event."
I assume that those are really only meant for 'lifecycle callback events' and must _not_ get invoked if they got called manually.
Thus postConstructInterception will also get called for the private method but NOT for a manual invocation if the doTheInit would be public.
Is this interpretation correct?
Can we have a TCK for it? :D
LieGrue,
strub
----- Original Message -----
> From: Mark Struberg <struberg at yahoo.de>
> To: cdi-dev <cdi-dev at lists.jboss.org>
> Cc:
> Sent: Saturday, January 5, 2013 2:56 PM
> Subject: [cdi-dev] intercepted private @PostConstruct method behaviour?
>
> Hi folks!
>
> What happens if I have a
>
>
> @Transactional
> public class MyService {
> @PostConstruct
> private void doTheInit() {...}
>
> Where the interceptor looks like
> @Interceptor @Transactional
> public class TransactionalInterceptor {
>
> @PostConstruct
> public void postConstructInterception(InvocationContext ic) {..}
>
>
>
> Question a.) does the @Transactional interceptor still apply to the _private_
> doTheInit() method?
>
> Question b.) consider the doTheInit() method being changed to public and it will
> get invoked by a user. Does the postConstructInterception still get invoked? Or
> must it only get invoked for _real_ PostConstruct actions triggered by the
> container?
>
> LieGrue,
> strub
>
>
> _______________________________________________
> cdi-dev mailing list
> cdi-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/cdi-dev
>
More information about the cdi-dev
mailing list