You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltaspike.apache.org by Adrian Gonzalez <ad...@yahoo.fr> on 2012/12/06 18:11:09 UTC

Multiple exceptionHandler classes

Hello,

Is it permitted to have multiple ExceptionHandlers classes in the same application ?

If yes, I have the impression that qualifiers aren't taken into account when it comes to which exceptionHandler method to call first.
I have the impression that EHA#handleException is called even if the ExceptionToCatchEvent was fired with @RestRequest qualifier.

Which ExceptionHandler class is called first depends on every application restart.


@org.apache.deltaspike.core.api.exception.control.annotation.ExceptionHandler
public class EHA {
public void handleException(

@Handles ExceptionEvent<RuntimeException> event) {
...
event.handled();
}
}

@org.apache.deltaspike.core.api.exception.control.annotation.ExceptionHandler
public class EHB {
public void handleException(

@Handles @RestRequest ExceptionEvent<RuntimeException> event) {
...

event.handled();
}
}

Thanks

Re: Multiple exceptionHandler classes

Posted by Adrian Gonzalez <ad...@yahoo.fr>.
DELTASPIKE-297  created.

Thanks !
________________________________
De : Jason Porter <li...@gmail.com>
À : "deltaspike-dev@incubator.apache.org" <de...@incubator.apache.org> 
Cc : "deltaspike-dev@incubator.apache.org" <de...@incubator.apache.org> 
Envoyé le : Lundi 10 décembre 2012 16h57
Objet : Re: Multiple exceptionHandler classes

Yes, create a JIRA please and add any links there. 

Sent from my iPhone

On Dec 10, 2012, at 8:31, Adrian Gonzalez <ad...@yahoo.fr> wrote:

> Ok I found it, there's an error in ExceptionHandlerComparator [1], it doesn't handle qualifiers correctly.
> Should I open a JIRA ?
> 
> 
> Lines 57-60 :
> 
>             if (returnValue == 0 && !lhs.getQualifiers().isEmpty())
>             {
>                 return -1;
>             }
> 
> Instead it should : 
>  * remove Any qualifier from rhs and lhs
>  * compare remaining qualifier size between rhs and lhs.
> 
> I've made a quick and ugly correction (not really performant) in my branch [2].
> See [3].
> 
> [1] https://github.com/gonzalad/incubator-deltaspike/blob/8a8878faf2c12e69ba742dff1fb803b6f7d713b2/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/exception/control/ExceptionHandlerComparator.java
> [2] https://github.com/gonzalad/incubator-deltaspike/tree/exception-multiple-handler
> [3] https://github.com/gonzalad/incubator-deltaspike/commit/473eafe621c4401837b7e62411eb9833786544dc#deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/exception/control/ExceptionHandlerComparator.java
> 
> ________________________________
> De : Adrian Gonzalez <ad...@yahoo.fr>
> À : "deltaspike-dev@incubator.apache.org" <de...@incubator.apache.org> 
> Envoyé le : Lundi 10 décembre 2012 12h48
> Objet : Re: Multiple exceptionHandler classes
> 
> Hi,
> 
> I just added a testcase [1] .
> 
> Testcase fails once every twice.
> 
> I'll look a bit more at DS code.
> If someone has an idea in the meantime ;)
> 
> Regards,
> 
> [1] https://github.com/gonzalad/incubator-deltaspike/blob/exception-multiple-handler/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/impl/exception/control/event/MultipleExceptionHandlerTest.java
> 
> 
> ________________________________
> De : Jason Porter <li...@gmail.com>
> À : Adrian Gonzalez <ad...@yahoo.fr> 
> Cc : "deltaspike-dev@incubator.apache.org" <de...@incubator.apache.org> 
> Envoyé le : Jeudi 6 décembre 2012 18h56
> Objet : Re: Multiple exceptionHandler classes
> 
> If it's being called always from that code it should always hit the one
> with the qualifier first, if not, then we have a bug. Take a look at the
> tests and see if something is missing either in the suite or something
> different with the way you're doing things. I know this worked perfectly in
> Seam 3, and the code is nearly a direct port.
> 
> 
> On Thu, Dec 6, 2012 at 10:35 AM, Adrian Gonzalez <ad...@yahoo.fr>wrote:
> 
>> Thanks jason,
>> 
>>> Do you have some code with how you're calling into the exception
>> handling?
>> 
>> 
>> Yep, the code is in [1]
>> 
>> 
>> I'll try to test it more thoroughly on my side on Monday (week end time
>> for me now ;) )
>> 
>> [1]
>> https://github.com/gonzalad/incubator-deltaspike/blob/ds-rest/deltaspike/modules/rest/impl/src/main/java/org/apache/deltaspike/rest/impl/exceptions/ExceptionMapper.java
>> 
>> ________________________________
>> De : Jason Porter <li...@gmail.com>
>> À : "deltaspike-dev@incubator.apache.org" <
>> deltaspike-dev@incubator.apache.org>; Adrian Gonzalez <
>> adr_gonzalez@yahoo.fr>
>> Envoyé le : Jeudi 6 décembre 2012 18h25
>> Objet : Re: Multiple exceptionHandler classes
>> 
>> 
>> On Thu, Dec 6, 2012 at 10:11 AM, Adrian Gonzalez <ad...@yahoo.fr>
>> wrote:
>> 
>> Hello,
>>> 
>>> Is it permitted to have multiple ExceptionHandlers classes in the same
>> application ?
>>> 
>>> If yes, I have the impression that qualifiers aren't taken into account
>> when it comes to which exceptionHandler method to call first.
>>> I have the impression that EHA#handleException is called even if the
>> ExceptionToCatchEvent was fired with @RestRequest qualifier.
>> 
>> Yes, this works fine, and is tested quite thoroughly in the test suite.
>> 
>> 
>> Which ExceptionHandler class is called first depends on every application
>> restart.
>> 
>>> @org.apache.deltaspike.core.api.exception.control.annotation.ExceptionHandler
>>> public class EHA {
>>> public void handleException(
>>> 
>>> @Handles ExceptionEvent<RuntimeException> event) {
>>> ...
>>> event.handled();
>>> }
>>> }
>> 
>>> @org.apache.deltaspike.core.api.exception.control.annotation.ExceptionHandler
>>> public class EHB {
>>> public void handleException(
>>> 
>>> @Handles @RestRequest ExceptionEvent<RuntimeException> event) {
>>> ...
>>> 
>>> event.handled();
>>> }
>>> }
>>> 
>>> Thanks
>> Do you have some code with how you're calling into the exception handling?
>> 
>> 
>> --
>> Jason Porter
>> http://lightguard-jp.blogspot.com
>> http://twitter.com/lightguardjp
>> 
>> Software Engineer
>> Open Source Advocate
>> 
>> PGP key id: 926CCFF5
>> PGP key available at: keyserver.net, pgp.mit.edu
> 
> 
> 
> -- 
> Jason Porter
> http://lightguard-jp.blogspot.com
> http://twitter.com/lightguardjp
> 
> Software Engineer
> Open Source Advocate
> 
> PGP key id: 926CCFF5
> PGP key available at: keyserver.net, pgp.mit.edu

Re: Multiple exceptionHandler classes

Posted by Jason Porter <li...@gmail.com>.
Yes, create a JIRA please and add any links there. 

Sent from my iPhone

On Dec 10, 2012, at 8:31, Adrian Gonzalez <ad...@yahoo.fr> wrote:

> Ok I found it, there's an error in ExceptionHandlerComparator [1], it doesn't handle qualifiers correctly.
> Should I open a JIRA ?
> 
> 
> Lines 57-60 :
> 
>             if (returnValue == 0 && !lhs.getQualifiers().isEmpty())
>             {
>                 return -1;
>             }
> 
> Instead it should : 
>  * remove Any qualifier from rhs and lhs
>  * compare remaining qualifier size between rhs and lhs.
> 
> I've made a quick and ugly correction (not really performant) in my branch [2].
> See [3].
> 
> [1] https://github.com/gonzalad/incubator-deltaspike/blob/8a8878faf2c12e69ba742dff1fb803b6f7d713b2/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/exception/control/ExceptionHandlerComparator.java
> [2] https://github.com/gonzalad/incubator-deltaspike/tree/exception-multiple-handler
> [3] https://github.com/gonzalad/incubator-deltaspike/commit/473eafe621c4401837b7e62411eb9833786544dc#deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/exception/control/ExceptionHandlerComparator.java
> 
> ________________________________
> De : Adrian Gonzalez <ad...@yahoo.fr>
> À : "deltaspike-dev@incubator.apache.org" <de...@incubator.apache.org> 
> Envoyé le : Lundi 10 décembre 2012 12h48
> Objet : Re: Multiple exceptionHandler classes
> 
> Hi,
> 
> I just added a testcase [1] .
> 
> Testcase fails once every twice.
> 
> I'll look a bit more at DS code.
> If someone has an idea in the meantime ;)
> 
> Regards,
> 
> [1] https://github.com/gonzalad/incubator-deltaspike/blob/exception-multiple-handler/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/impl/exception/control/event/MultipleExceptionHandlerTest.java
> 
> 
> ________________________________
> De : Jason Porter <li...@gmail.com>
> À : Adrian Gonzalez <ad...@yahoo.fr> 
> Cc : "deltaspike-dev@incubator.apache.org" <de...@incubator.apache.org> 
> Envoyé le : Jeudi 6 décembre 2012 18h56
> Objet : Re: Multiple exceptionHandler classes
> 
> If it's being called always from that code it should always hit the one
> with the qualifier first, if not, then we have a bug. Take a look at the
> tests and see if something is missing either in the suite or something
> different with the way you're doing things. I know this worked perfectly in
> Seam 3, and the code is nearly a direct port.
> 
> 
> On Thu, Dec 6, 2012 at 10:35 AM, Adrian Gonzalez <ad...@yahoo.fr>wrote:
> 
>> Thanks jason,
>> 
>>> Do you have some code with how you're calling into the exception
>> handling?
>> 
>> 
>> Yep, the code is in [1]
>> 
>> 
>> I'll try to test it more thoroughly on my side on Monday (week end time
>> for me now ;) )
>> 
>> [1]
>> https://github.com/gonzalad/incubator-deltaspike/blob/ds-rest/deltaspike/modules/rest/impl/src/main/java/org/apache/deltaspike/rest/impl/exceptions/ExceptionMapper.java
>> 
>> ________________________________
>> De : Jason Porter <li...@gmail.com>
>> À : "deltaspike-dev@incubator.apache.org" <
>> deltaspike-dev@incubator.apache.org>; Adrian Gonzalez <
>> adr_gonzalez@yahoo.fr>
>> Envoyé le : Jeudi 6 décembre 2012 18h25
>> Objet : Re: Multiple exceptionHandler classes
>> 
>> 
>> On Thu, Dec 6, 2012 at 10:11 AM, Adrian Gonzalez <ad...@yahoo.fr>
>> wrote:
>> 
>> Hello,
>>> 
>>> Is it permitted to have multiple ExceptionHandlers classes in the same
>> application ?
>>> 
>>> If yes, I have the impression that qualifiers aren't taken into account
>> when it comes to which exceptionHandler method to call first.
>>> I have the impression that EHA#handleException is called even if the
>> ExceptionToCatchEvent was fired with @RestRequest qualifier.
>> 
>> Yes, this works fine, and is tested quite thoroughly in the test suite.
>> 
>> 
>> Which ExceptionHandler class is called first depends on every application
>> restart.
>> 
>>> @org.apache.deltaspike.core.api.exception.control.annotation.ExceptionHandler
>>> public class EHA {
>>> public void handleException(
>>> 
>>> @Handles ExceptionEvent<RuntimeException> event) {
>>> ...
>>> event.handled();
>>> }
>>> }
>> 
>>> @org.apache.deltaspike.core.api.exception.control.annotation.ExceptionHandler
>>> public class EHB {
>>> public void handleException(
>>> 
>>> @Handles @RestRequest ExceptionEvent<RuntimeException> event) {
>>> ...
>>> 
>>> event.handled();
>>> }
>>> }
>>> 
>>> Thanks
>> Do you have some code with how you're calling into the exception handling?
>> 
>> 
>> --
>> Jason Porter
>> http://lightguard-jp.blogspot.com
>> http://twitter.com/lightguardjp
>> 
>> Software Engineer
>> Open Source Advocate
>> 
>> PGP key id: 926CCFF5
>> PGP key available at: keyserver.net, pgp.mit.edu
> 
> 
> 
> -- 
> Jason Porter
> http://lightguard-jp.blogspot.com
> http://twitter.com/lightguardjp
> 
> Software Engineer
> Open Source Advocate
> 
> PGP key id: 926CCFF5
> PGP key available at: keyserver.net, pgp.mit.edu

Re: Multiple exceptionHandler classes

Posted by Adrian Gonzalez <ad...@yahoo.fr>.
Ok I found it, there's an error in ExceptionHandlerComparator [1], it doesn't handle qualifiers correctly.
Should I open a JIRA ?


Lines 57-60 :

            if (returnValue == 0 && !lhs.getQualifiers().isEmpty())
            {
                return -1;
            }

Instead it should : 
 * remove Any qualifier from rhs and lhs
 * compare remaining qualifier size between rhs and lhs.

I've made a quick and ugly correction (not really performant) in my branch [2].
See [3].

[1] https://github.com/gonzalad/incubator-deltaspike/blob/8a8878faf2c12e69ba742dff1fb803b6f7d713b2/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/exception/control/ExceptionHandlerComparator.java
[2] https://github.com/gonzalad/incubator-deltaspike/tree/exception-multiple-handler
[3] https://github.com/gonzalad/incubator-deltaspike/commit/473eafe621c4401837b7e62411eb9833786544dc#deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/exception/control/ExceptionHandlerComparator.java

________________________________
De : Adrian Gonzalez <ad...@yahoo.fr>
À : "deltaspike-dev@incubator.apache.org" <de...@incubator.apache.org> 
Envoyé le : Lundi 10 décembre 2012 12h48
Objet : Re: Multiple exceptionHandler classes

Hi,

I just added a testcase [1] .

Testcase fails once every twice.

I'll look a bit more at DS code.
If someone has an idea in the meantime ;)

Regards,

[1] https://github.com/gonzalad/incubator-deltaspike/blob/exception-multiple-handler/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/impl/exception/control/event/MultipleExceptionHandlerTest.java


________________________________
De : Jason Porter <li...@gmail.com>
À : Adrian Gonzalez <ad...@yahoo.fr> 
Cc : "deltaspike-dev@incubator.apache.org" <de...@incubator.apache.org> 
Envoyé le : Jeudi 6 décembre 2012 18h56
Objet : Re: Multiple exceptionHandler classes

If it's being called always from that code it should always hit the one
with the qualifier first, if not, then we have a bug. Take a look at the
tests and see if something is missing either in the suite or something
different with the way you're doing things. I know this worked perfectly in
Seam 3, and the code is nearly a direct port.


On Thu, Dec 6, 2012 at 10:35 AM, Adrian Gonzalez <ad...@yahoo.fr>wrote:

> Thanks jason,
>
> > Do you have some code with how you're calling into the exception
> handling?
>
>
> Yep, the code is in [1]
>
>
> I'll try to test it more thoroughly on my side on Monday (week end time
> for me now ;) )
>
> [1]
> https://github.com/gonzalad/incubator-deltaspike/blob/ds-rest/deltaspike/modules/rest/impl/src/main/java/org/apache/deltaspike/rest/impl/exceptions/ExceptionMapper.java
>
> ________________________________
> De : Jason Porter <li...@gmail.com>
> À : "deltaspike-dev@incubator.apache.org" <
> deltaspike-dev@incubator.apache.org>; Adrian Gonzalez <
> adr_gonzalez@yahoo.fr>
> Envoyé le : Jeudi 6 décembre 2012 18h25
> Objet : Re: Multiple exceptionHandler classes
>
>
> On Thu, Dec 6, 2012 at 10:11 AM, Adrian Gonzalez <ad...@yahoo.fr>
> wrote:
>
> Hello,
> >
> >Is it permitted to have multiple ExceptionHandlers classes in the same
> application ?
> >
> >If yes, I have the impression that qualifiers aren't taken into account
> when it comes to which exceptionHandler method to call first.
> >I have the impression that EHA#handleException is called even if the
> ExceptionToCatchEvent was fired with @RestRequest qualifier.
> >
>
> Yes, this works fine, and is tested quite thoroughly in the test suite.
>
>
> Which ExceptionHandler class is called first depends on every application
> restart.
> >
> >
>
> >@org.apache.deltaspike.core.api.exception.control.annotation.ExceptionHandler
> >public class EHA {
> >public void handleException(
> >
> >@Handles ExceptionEvent<RuntimeException> event) {
> >...
> >event.handled();
> >}
> >}
> >
>
> >@org.apache.deltaspike.core.api.exception.control.annotation.ExceptionHandler
> >public class EHB {
> >public void handleException(
> >
> >@Handles @RestRequest ExceptionEvent<RuntimeException> event) {
> >...
> >
> >event.handled();
> >}
> >}
> >
> >Thanks
> >
> Do you have some code with how you're calling into the exception handling?
>
>
> --
> Jason Porter
> http://lightguard-jp.blogspot.com
> http://twitter.com/lightguardjp
>
> Software Engineer
> Open Source Advocate
>
> PGP key id: 926CCFF5
> PGP key available at: keyserver.net, pgp.mit.edu
>



-- 
Jason Porter
http://lightguard-jp.blogspot.com
http://twitter.com/lightguardjp

Software Engineer
Open Source Advocate

PGP key id: 926CCFF5
PGP key available at: keyserver.net, pgp.mit.edu

Re: Multiple exceptionHandler classes

Posted by Adrian Gonzalez <ad...@yahoo.fr>.
Hi,

I just added a testcase [1] .

Testcase fails once every twice.

I'll look a bit more at DS code.
If someone has an idea in the meantime ;)

Regards,

[1] https://github.com/gonzalad/incubator-deltaspike/blob/exception-multiple-handler/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/impl/exception/control/event/MultipleExceptionHandlerTest.java


________________________________
 De : Jason Porter <li...@gmail.com>
À : Adrian Gonzalez <ad...@yahoo.fr> 
Cc : "deltaspike-dev@incubator.apache.org" <de...@incubator.apache.org> 
Envoyé le : Jeudi 6 décembre 2012 18h56
Objet : Re: Multiple exceptionHandler classes
 
If it's being called always from that code it should always hit the one
with the qualifier first, if not, then we have a bug. Take a look at the
tests and see if something is missing either in the suite or something
different with the way you're doing things. I know this worked perfectly in
Seam 3, and the code is nearly a direct port.


On Thu, Dec 6, 2012 at 10:35 AM, Adrian Gonzalez <ad...@yahoo.fr>wrote:

> Thanks jason,
>
> > Do you have some code with how you're calling into the exception
> handling?
>
>
> Yep, the code is in [1]
>
>
> I'll try to test it more thoroughly on my side on Monday (week end time
> for me now ;) )
>
> [1]
> https://github.com/gonzalad/incubator-deltaspike/blob/ds-rest/deltaspike/modules/rest/impl/src/main/java/org/apache/deltaspike/rest/impl/exceptions/ExceptionMapper.java
>
> ________________________________
> De : Jason Porter <li...@gmail.com>
> À : "deltaspike-dev@incubator.apache.org" <
> deltaspike-dev@incubator.apache.org>; Adrian Gonzalez <
> adr_gonzalez@yahoo.fr>
> Envoyé le : Jeudi 6 décembre 2012 18h25
> Objet : Re: Multiple exceptionHandler classes
>
>
> On Thu, Dec 6, 2012 at 10:11 AM, Adrian Gonzalez <ad...@yahoo.fr>
> wrote:
>
> Hello,
> >
> >Is it permitted to have multiple ExceptionHandlers classes in the same
> application ?
> >
> >If yes, I have the impression that qualifiers aren't taken into account
> when it comes to which exceptionHandler method to call first.
> >I have the impression that EHA#handleException is called even if the
> ExceptionToCatchEvent was fired with @RestRequest qualifier.
> >
>
> Yes, this works fine, and is tested quite thoroughly in the test suite.
>
>
> Which ExceptionHandler class is called first depends on every application
> restart.
> >
> >
>
> >@org.apache.deltaspike.core.api.exception.control.annotation.ExceptionHandler
> >public class EHA {
> >public void handleException(
> >
> >@Handles ExceptionEvent<RuntimeException> event) {
> >...
> >event.handled();
> >}
> >}
> >
>
> >@org.apache.deltaspike.core.api.exception.control.annotation.ExceptionHandler
> >public class EHB {
> >public void handleException(
> >
> >@Handles @RestRequest ExceptionEvent<RuntimeException> event) {
> >...
> >
> >event.handled();
> >}
> >}
> >
> >Thanks
> >
> Do you have some code with how you're calling into the exception handling?
>
>
> --
> Jason Porter
> http://lightguard-jp.blogspot.com
> http://twitter.com/lightguardjp
>
> Software Engineer
> Open Source Advocate
>
> PGP key id: 926CCFF5
> PGP key available at: keyserver.net, pgp.mit.edu
>



-- 
Jason Porter
http://lightguard-jp.blogspot.com
http://twitter.com/lightguardjp

Software Engineer
Open Source Advocate

PGP key id: 926CCFF5
PGP key available at: keyserver.net, pgp.mit.edu

Re: Multiple exceptionHandler classes

Posted by Jason Porter <li...@gmail.com>.
If it's being called always from that code it should always hit the one
with the qualifier first, if not, then we have a bug. Take a look at the
tests and see if something is missing either in the suite or something
different with the way you're doing things. I know this worked perfectly in
Seam 3, and the code is nearly a direct port.


On Thu, Dec 6, 2012 at 10:35 AM, Adrian Gonzalez <ad...@yahoo.fr>wrote:

> Thanks jason,
>
> > Do you have some code with how you're calling into the exception
> handling?
>
>
> Yep, the code is in [1]
>
>
> I'll try to test it more thoroughly on my side on Monday (week end time
> for me now ;) )
>
> [1]
> https://github.com/gonzalad/incubator-deltaspike/blob/ds-rest/deltaspike/modules/rest/impl/src/main/java/org/apache/deltaspike/rest/impl/exceptions/ExceptionMapper.java
>
> ________________________________
> De : Jason Porter <li...@gmail.com>
> À : "deltaspike-dev@incubator.apache.org" <
> deltaspike-dev@incubator.apache.org>; Adrian Gonzalez <
> adr_gonzalez@yahoo.fr>
> Envoyé le : Jeudi 6 décembre 2012 18h25
> Objet : Re: Multiple exceptionHandler classes
>
>
> On Thu, Dec 6, 2012 at 10:11 AM, Adrian Gonzalez <ad...@yahoo.fr>
> wrote:
>
> Hello,
> >
> >Is it permitted to have multiple ExceptionHandlers classes in the same
> application ?
> >
> >If yes, I have the impression that qualifiers aren't taken into account
> when it comes to which exceptionHandler method to call first.
> >I have the impression that EHA#handleException is called even if the
> ExceptionToCatchEvent was fired with @RestRequest qualifier.
> >
>
> Yes, this works fine, and is tested quite thoroughly in the test suite.
>
>
> Which ExceptionHandler class is called first depends on every application
> restart.
> >
> >
>
> >@org.apache.deltaspike.core.api.exception.control.annotation.ExceptionHandler
> >public class EHA {
> >public void handleException(
> >
> >@Handles ExceptionEvent<RuntimeException> event) {
> >...
> >event.handled();
> >}
> >}
> >
>
> >@org.apache.deltaspike.core.api.exception.control.annotation.ExceptionHandler
> >public class EHB {
> >public void handleException(
> >
> >@Handles @RestRequest ExceptionEvent<RuntimeException> event) {
> >...
> >
> >event.handled();
> >}
> >}
> >
> >Thanks
> >
> Do you have some code with how you're calling into the exception handling?
>
>
> --
> Jason Porter
> http://lightguard-jp.blogspot.com
> http://twitter.com/lightguardjp
>
> Software Engineer
> Open Source Advocate
>
> PGP key id: 926CCFF5
> PGP key available at: keyserver.net, pgp.mit.edu
>



-- 
Jason Porter
http://lightguard-jp.blogspot.com
http://twitter.com/lightguardjp

Software Engineer
Open Source Advocate

PGP key id: 926CCFF5
PGP key available at: keyserver.net, pgp.mit.edu

Re: Multiple exceptionHandler classes

Posted by Adrian Gonzalez <ad...@yahoo.fr>.
Thanks jason,

> Do you have some code with how you're calling into the exception handling? 


Yep, the code is in [1]


I'll try to test it more thoroughly on my side on Monday (week end time for me now ;) )

[1] https://github.com/gonzalad/incubator-deltaspike/blob/ds-rest/deltaspike/modules/rest/impl/src/main/java/org/apache/deltaspike/rest/impl/exceptions/ExceptionMapper.java 
________________________________
De : Jason Porter <li...@gmail.com>
À : "deltaspike-dev@incubator.apache.org" <de...@incubator.apache.org>; Adrian Gonzalez <ad...@yahoo.fr> 
Envoyé le : Jeudi 6 décembre 2012 18h25
Objet : Re: Multiple exceptionHandler classes


On Thu, Dec 6, 2012 at 10:11 AM, Adrian Gonzalez <ad...@yahoo.fr> wrote:

Hello,
>
>Is it permitted to have multiple ExceptionHandlers classes in the same application ?
>
>If yes, I have the impression that qualifiers aren't taken into account when it comes to which exceptionHandler method to call first.
>I have the impression that EHA#handleException is called even if the ExceptionToCatchEvent was fired with @RestRequest qualifier.
>

Yes, this works fine, and is tested quite thoroughly in the test suite.


Which ExceptionHandler class is called first depends on every application restart.
>
>
>@org.apache.deltaspike.core.api.exception.control.annotation.ExceptionHandler
>public class EHA {
>public void handleException(
>
>@Handles ExceptionEvent<RuntimeException> event) {
>...
>event.handled();
>}
>}
>
>@org.apache.deltaspike.core.api.exception.control.annotation.ExceptionHandler
>public class EHB {
>public void handleException(
>
>@Handles @RestRequest ExceptionEvent<RuntimeException> event) {
>...
>
>event.handled();
>}
>}
>
>Thanks
>
Do you have some code with how you're calling into the exception handling?


-- 
Jason Porter
http://lightguard-jp.blogspot.com
http://twitter.com/lightguardjp

Software Engineer
Open Source Advocate

PGP key id: 926CCFF5
PGP key available at: keyserver.net, pgp.mit.edu 

Re: Multiple exceptionHandler classes

Posted by Jason Porter <li...@gmail.com>.
On Thu, Dec 6, 2012 at 10:11 AM, Adrian Gonzalez <ad...@yahoo.fr>wrote:

> Hello,
>
> Is it permitted to have multiple ExceptionHandlers classes in the same
> application ?
>
> If yes, I have the impression that qualifiers aren't taken into account
> when it comes to which exceptionHandler method to call first.
> I have the impression that EHA#handleException is called even if the
> ExceptionToCatchEvent was fired with @RestRequest qualifier.
>

Yes, this works fine, and is tested quite thoroughly in the test suite.


> Which ExceptionHandler class is called first depends on every application
> restart.
>
>
>
> @org.apache.deltaspike.core.api.exception.control.annotation.ExceptionHandler
> public class EHA {
> public void handleException(
>
> @Handles ExceptionEvent<RuntimeException> event) {
> ...
> event.handled();
> }
> }
>
>
> @org.apache.deltaspike.core.api.exception.control.annotation.ExceptionHandler
> public class EHB {
> public void handleException(
>
> @Handles @RestRequest ExceptionEvent<RuntimeException> event) {
> ...
>
> event.handled();
> }
> }
>
> Thanks
>

Do you have some code with how you're calling into the exception handling?


-- 
Jason Porter
http://lightguard-jp.blogspot.com
http://twitter.com/lightguardjp

Software Engineer
Open Source Advocate

PGP key id: 926CCFF5
PGP key available at: keyserver.net, pgp.mit.edu