not using interceptor spec AFAIK but constructors shouldn't throw an
exception, it should be in a @PostConstruct:

@CatchMe
@Interceptor
public class Inter {
@PostConstruct
public Object post(final InvocationContext ic) throws Exception {
System.out.println(">>> ok");
System.out.println(">>> ok");
System.out.println(">>> ok");
System.out.println(">>> ok");
try {
return ic.proceed();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}


@CatchMe
public class Foo {
@PostConstruct
public void Foo() {
throw new RuntimeException();
}

public void run() {}
}

Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2014-02-06 Lars-Fredrik Smedberg <[email protected]>:
> so there is no need to call ic.proceed either then?
>
> Is there any way to intercept the exceptions thrown from the @PostConstruct
> method in the same way I can with business methods....?
>
> Regards
> Fredrik
>
>
> On Thu, Feb 6, 2014 at 11:59 AM, Romain Manni-Bucau <[email protected]>
> wrote:
>>
>> after the bean construction so it will likely not work
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2014-02-06 Lars-Fredrik Smedberg <[email protected]>:
>> > Hi Romain
>> >
>> > Maybe I misunderstood something about the use of it... some questions:
>> >
>> > 1. When is the interceptor method called? Before the @PostConstruct
>> > method
>> > of the target bean I assume?
>> > 2. Do I need to call ic.proceed() for the target been method to be
>> > called?
>> >
>> > I'm looking for a way to intercept any runtime exceptions thrown by the
>> > @PostContstruct method of the target bean.
>> >
>> > Regards
>> > Fredrik
>> >
>> >
>> >
>> > On Thu, Feb 6, 2014 at 11:50 AM, Romain Manni-Bucau
>> > <[email protected]>
>> > wrote:
>> >>
>> >> seems it works for me:
>> >>
>> >> @CatchMe
>> >> @Interceptor
>> >> public class Inter {
>> >> @PostConstruct
>> >> public void post(final InvocationContext ic) {
>> >> System.out.println(">>> ok");
>> >> System.out.println(">>> ok");
>> >> System.out.println(">>> ok");
>> >> System.out.println(">>> ok");
>> >> }
>> >> }
>> >>
>> >>
>> >> @InterceptorBinding
>> >> @Target(ElementType.TYPE)
>> >> @Retention(RetentionPolicy.RUNTIME)
>> >> public @interface CatchMe {
>> >> }
>> >>
>> >>
>> >> Romain Manni-Bucau
>> >> Twitter: @rmannibucau
>> >> Blog: http://rmannibucau.wordpress.com/
>> >> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> >> Github: https://github.com/rmannibucau
>> >>
>> >>
>> >>
>> >> 2014-02-06 Lars-Fredrik Smedberg <[email protected]>:
>> >> > Hi Romain
>> >> >
>> >> > In the Interceptor I tried:
>> >> >
>> >> > @PostConstruct
>> >> > public void interceptPostConstructMethod(InvocationContext ctx) {
>> >> >    ...
>> >> > }
>> >> >
>> >> >
>> >> > On Thu, Feb 6, 2014 at 11:08 AM, Romain Manni-Bucau
>> >> > <[email protected]>
>> >> > wrote:
>> >> >>
>> >> >> Hi
>> >> >>
>> >> >> what's the signature you used for your @PostContruct method?
>> >> >> Romain Manni-Bucau
>> >> >> Twitter: @rmannibucau
>> >> >> Blog: http://rmannibucau.wordpress.com/
>> >> >> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> >> >> Github: https://github.com/rmannibucau
>> >> >>
>> >> >>
>> >> >>
>> >> >> 2014-02-06 Lars-Fredrik Smedberg <[email protected]>:
>> >> >> > Hi
>> >> >> >
>> >> >> > When looking at
>> >> >> > http://docs.oracle.com/javaee/6/tutorial/doc/gkigq.html
>> >> >> > it
>> >> >> > looks like I could create an Interceptor with a method annotated
>> >> >> > @PostConstruct which would get called when the annotated target
>> >> >> > class
>> >> >> > @PostConstruct  annoted method is called.
>> >> >> >
>> >> >> > I cannot get this to work, however an Interceptor having a method
>> >> >> > annotated
>> >> >> > @AroundInvoke works fine when calling business methods in the
>> >> >> > annotated
>> >> >> > target class.
>> >> >> >
>> >> >> > Can anyone point me in the right direction to get it to work (or
>> >> >> > maybe
>> >> >> > tell
>> >> >> > it is not supposed to work as I think it should :))
>> >> >> >
>> >> >> > Regards
>> >> >> > Fredrik
>> >> >> >
>> >> >> > --
>> >> >> > Med vänlig hälsning / Best regards
>> >> >> >
>> >> >> > Lars-Fredrik Smedberg
>> >> >> >
>> >> >> > STATEMENT OF CONFIDENTIALITY:
>> >> >> > The information contained in this electronic message and any
>> >> >> > attachments to this message are intended for the exclusive use of
>> >> >> > the
>> >> >> > address(es) and may contain confidential or privileged
>> >> >> > information.
>> >> >> > If
>> >> >> > you are not the intended recipient, please notify Lars-Fredrik
>> >> >> > Smedberg
>> >> >> > immediately at [email protected], and destroy all copies of this
>> >> >> > message and any attachments.
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > Med vänlig hälsning / Best regards
>> >> >
>> >> > Lars-Fredrik Smedberg
>> >> >
>> >> > STATEMENT OF CONFIDENTIALITY:
>> >> > The information contained in this electronic message and any
>> >> > attachments to this message are intended for the exclusive use of the
>> >> > address(es) and may contain confidential or privileged information.
>> >> > If
>> >> > you are not the intended recipient, please notify Lars-Fredrik
>> >> > Smedberg
>> >> > immediately at [email protected], and destroy all copies of this
>> >> > message and any attachments.
>> >
>> >
>> >
>> >
>> > --
>> > Med vänlig hälsning / Best regards
>> >
>> > Lars-Fredrik Smedberg
>> >
>> > STATEMENT OF CONFIDENTIALITY:
>> > The information contained in this electronic message and any
>> > attachments to this message are intended for the exclusive use of the
>> > address(es) and may contain confidential or privileged information. If
>> > you are not the intended recipient, please notify Lars-Fredrik Smedberg
>> > immediately at [email protected], and destroy all copies of this
>> > message and any attachments.
>
>
>
>
> --
> Med vänlig hälsning / Best regards
>
> Lars-Fredrik Smedberg
>
> STATEMENT OF CONFIDENTIALITY:
> The information contained in this electronic message and any
> attachments to this message are intended for the exclusive use of the
> address(es) and may contain confidential or privileged information. If
> you are not the intended recipient, please notify Lars-Fredrik Smedberg
> immediately at [email protected], and destroy all copies of this
> message and any attachments.

Reply via email to