Java 具有原始字节体的Jersey HTTP POST异步响应处理程序

Java 具有原始字节体的Jersey HTTP POST异步响应处理程序,java,post,asynchronous,jersey-2.0,Java,Post,Asynchronous,Jersey 2.0,当我想稍后使用AsyncResponse发送响应时,如何访问HTTP POST正文的原始字节 在下面的代码中,当我取消注释此部分/*,@Context final byte[]rawBytesIn*/,我得到以下错误:error[2015-05-20 22:36:18441]com.sun.jersey.spi.inject.Errors:已检测到资源和/或提供程序类的以下错误和警告: 严重:缺少方法public void com.abc.resources.MyResource.postSea

当我想稍后使用AsyncResponse发送响应时,如何访问HTTP POST正文的原始字节

在下面的代码中,当我取消注释此部分/*,@Context final byte[]rawBytesIn*/,我得到以下错误:error[2015-05-20 22:36:18441]com.sun.jersey.spi.inject.Errors:已检测到资源和/或提供程序类的以下错误和警告: 严重:缺少方法public void com.abc.resources.MyResource.postSearchjavax.ws.rs.container.AsyncResponse的依赖项,索引0处参数处的字节[] 严重:缺少方法public void com.abc.resources.MyResource.postSearchjavax.ws.rs.container.AsyncResponse的依赖项,索引1处参数处的字节[]

@Path("/")
public class MyResource
{
    @POST
    @Consumes("application/fastinfoset")
    @Produces("application/fastinfoset")
    public void postSearch(@Suspended final AsyncResponse ar/*, @Context final byte [] rawBytesIn*/) {

        new Thread(new Runnable() {
            @Override
            public void run() {

                byte [] rawBytesOut = ProcessRequest(rawBytesIn);
                ar.resume(rawBytesOut);
            }
        }).start();
    }
}

什么让你认为你需要@Context注释?请求正文不需要任何注释,实际上不应该有注释如果您将@Consumes更改为text,将方法更改为public void postSearchfinal String text、@Suspended final AsyncResponse是否有效?或者使用public voidpostSearch@Suspended最终异步响应,@Context HttpServletRequest httpRequest