Java 未找到JAX-RS分块响应MessageBodyWriter
我刚刚开始在JAX-RS中使用分块输出。我想在发送各种不同类型的数据(不同块中的字符串和文件)时,将分块“响应”对象发送到输出。但是,当我尝试将响应对象写入Java 未找到JAX-RS分块响应MessageBodyWriter,java,rest,jersey,jax-rs,Java,Rest,Jersey,Jax Rs,我刚刚开始在JAX-RS中使用分块输出。我想在发送各种不同类型的数据(不同块中的字符串和文件)时,将分块“响应”对象发送到输出。但是,当我尝试将响应对象写入ChunkedOutput对象时,会出现以下异常:org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException:MessageBodyWriter找不到媒体类型=text/html,类型=class org.glassfish.jersey.message
ChunkedOutput
对象时,会出现以下异常:org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException:MessageBodyWriter找不到媒体类型=text/html,类型=class org.glassfish.jersey.message.internal.outboundjaxrssresponse,genericType=类javax.ws.rs.core.Response。
下面是我的代码:
@GET
public ChunkedOutput<Response> getChunkedResponse() {
final ChunkedOutput<Response> output2 = new ChunkedOutput<Response>(Response.class);
new Thread() {
public void run() {
try {
String chunk;
while ((chunk = getNextString()) != null) {
ResponseBuilder responseBuilder = Response.ok()
.type(MediaType.TEXT_XML)
.entity(chunk);
output2.write(responseBuilder.build()); //Exception thrown here
System.out.println(chunk);
}
output2.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
return output2;
}
@GET
公共ChunkedOutput getChunkedResponse(){
final ChunkedOutput output2=新的ChunkedOutput(Response.class);
新线程(){
公开募捐{
试一试{
串块;
while((chunk=getNextString())!=null){
ResponseBuilder ResponseBuilder=Response.ok()
.type(MediaType.TEXT_XML)
.实体(块);
output2.write(responseBuilder.build());//此处引发异常
System.out.println(块);
}
output2.close();
}捕获(例外e){
e、 printStackTrace();
}
}
}.start();
返回输出2;
}