3

我使用 JAX-RS ExceptionMapper 构建了一个异常映射器:

@Provider
public class MyCustomExceptionMapper implements ExceptionMapper<MyException>{...}

我不清楚如何注册它,以便在抛出 MyException 时自动调用映射器。我使用的环境是 Mule + Jersey + Spring。

4

3 回答 3

4

如果您使用的是 3.1.2-SNAPSHOT+ 或 3.2-SNAPSHOT+,您可以这样做:

<jersey:resources>
    <component class="org.mule.module.jersey.HelloWorldResource"/>
    <jersey:exception-mapper class="org.mule.module.jersey.exception.HelloWorldExceptionMapper" />
</jersey:resources>
于 2011-04-27T21:34:31.397 回答
2

Mule 3.4.0 包括以下支持:

https://www.mulesoft.org/jira/browse/MULE-5458

<sub-flow name="RestServiceFlow">
    <jersey:resources>
        <component class="org.example.AResource"/>
        <component class="org.example.BResource"/>
        <jersey:exception-mapper class="org.example.AExceptionHandler" />
        <jersey:exception-mapper class="org.example.BExceptionHandler" />
    </jersey:resources>
</sub-flow>

如问题中所述,这些类使用 @Provider 注释进行注释。

于 2013-07-19T03:25:27.493 回答
2

此响应说要在 Spring 中使用 @Repository

JAX-RS 自定义 ExceptionMapper 不拦截 RuntimeException

于 2011-06-24T21:39:41.230 回答