현재 StreamingOutput API와 함께 MSF4J를 사용하려고합니다. 그러나 File을 스트리밍하는 대신 일련의 끝이없는 짧은 문자열/텍스트를 스트리밍하려고합니다. 문자열이 클라이언트에 즉시 플러시되기를 원합니다. 그러나, 클라이언트는 플러시 후에 그것을 얻지 못하고있다. 내 문자열이 청크에 잠시 후에 플러시되기 때문에 그것이 기본 8kb 버퍼로 인해 믿습니다. glassfish에서와 같은 방법으로이 기본 버퍼를 재정의하려면 어떻게합니까? https://jersey.java.net/apidocs/2.22/jersey/org/glassfish/jersey/server/ServerProperties.html#OUTBOUND_CONTENT_LENGTH_BUFFERwso2 msf4j : 서버 속성을 구성하는 방법
내가 원하는 뭔가 같은 ...
Properties properties = new Properties()
properties.set("jersey.config.server.contentLength.buffer", 0);**
new MicroservicesRunner()
.setProperties(properties)**
.addInterceptor(new HTTPMonitoringInterceptor())
.deploy(new MyService())
.start();
내 streamingout 클래스
new StreamingOutput(){
public void write(OutputStream os) throws IOException, WebApplicationException {
while(true){
os.write("some string".getBytes());
os.flush();
}
}
}
당신을 감사합니다.
그래서 문자열은 즉시 fluse가되지만 int 값은 그렇지 않습니다. –
@ThusithaThilinaDayaratne, 정수는 REST를 통해 반환 될 때 문자열로 처리됩니다. 플러시를하더라도 클라이언트는 8kb 버퍼가 소비 될 때까지 문자열을 즉시받지 못합니다. – Speng
전체 서비스를 공유 할 수 있습니까? –