Java 无法使用writerInterceptor拦截jersey资源方法
我正在尝试使用writer拦截器拦截jersey资源方法。但这对我不起作用 自定义注释Java 无法使用writerInterceptor拦截jersey资源方法,java,spring,rest,jersey,jax-rs,Java,Spring,Rest,Jersey,Jax Rs,我正在尝试使用writer拦截器拦截jersey资源方法。但这对我不起作用 自定义注释 @NameBinding @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) public @interface TransactionMonitored { String name() default ""; } 拦截器类 @TransactionMonitored @Provide
@NameBinding
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface TransactionMonitored {
String name() default "";
}
拦截器类
@TransactionMonitored
@Provider
public class TestInterceptor implements WriterInterceptor {
@Override
public void aroundWriteTo(WriterInterceptorContext context) throws IOException, WebApplicationException {
context.proceed();
}
}
资源方法
@ApiOperation(value = "Get Air Avail Message Response", notes = "Returns Air Avail Response for Input XML Request", response = AirAvailResponseType.class)
@Produces({MediaType.APPLICATION_XML,CommonConstants.Fastinfoset})
@Consumes({MediaType.APPLICATION_XML,CommonConstants.Fastinfoset})
@POST
@TransactionMonitored
public Response execute(AirAvailRequestType airAvailRequestType, @Context HttpContext HttpContext) {
Exchange<AirAvailRequestType, AirAvailResponseType> padExchange = new Exchange<>(airAvailRequestType);
ExecutionContext context = null;
try {
@ApiOperation(value=“Get Air Avail Message Response”,notes=“返回输入XML请求的Air Avail响应”,Response=AirAvailResponseType.class)
@产生({MediaType.APPLICATION_XML,CommonConstants.Fastinfoset})
@使用({MediaType.APPLICATION_XML,CommonConstants.Fastinfoset})
@职位
@交易监控
公共响应执行(AirAvailRequestType AirAvailRequestType,@Context HttpContext HttpContext){
交换padExchange=新交换(airAvailRequestType);
ExecutionContext上下文=null;
试一试{
首先,我已使用Spring AOP method interceptor拦截上述资源方法,并确定我无法拦截在jersey注册的资源方法。因此我尝试了此jersey interceptor。请任何人检查并告知我是否遗漏了任何内容。您在interce中到底想做什么ptor?WriterInterceptor不是AOP风格的拦截器。我正在尝试使用自定义注释实现事务监视。使用spring方法拦截器,我们可以检查方法调用的响应。继续()但我无法将spring方法拦截器实现到这些jersey资源方法中,因为它抛出了“404错误”。从文档中我了解到过滤器和拦截器用于修改标题和方法内容,但我只是检查是否使用writer拦截器获得方法响应,以便我可以使用响应进行监控。是否可能?您可以使用Jersey的基础IoC框架HK2实现AOP。请参阅,就Spring而言,您可能没有正确实现它。我可以使用Spring AOP与Jersey集成。请参阅,查看是否有可能实现答复。我没有使用aspectj。我将尝试使用您提供并让您知道的链接。