В настоящее время я пытаюсь использовать MSF4J с StreamingOutput API. Однако вместо потоковой передачи файла я хочу передать последовательность нескончаемых коротких строк/текстов. Я хочу, чтобы строки были немедленно очищены от клиента. Однако клиент не получает его после флеша. Я считаю, что это связано с 8KB-буфером по умолчанию, потому что через несколько секунд мои строки размываются. Как переопределить этот буфер по умолчанию так же, как это делается в стеклянной платке? 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();
}
}
}
спасибо.
Итак, ваши строки сразу же смываются, но не значения int - это случай? –
@ThusithaThilinaDayaratne, целые числа также рассматриваются как строки, поскольку они возвращаются через REST. Даже с флешем клиент не получит строки сразу, пока не будет потреблен буфер 8kb. – Speng
Можете ли вы поделиться полным сервисом? –