Если у меня есть клиент, запрашивающий данные у Jetty Server как таковой:
private static MessageBean fetchMessage(final String host, final int hostPort, final String path) {
return client.target(String.format("http://%s:%d/%s", host, hostPort, path))
.request(MediaType.APPLICATION_JSON_TYPE)
.get(new GenericType<StateMessageBean>() {
});
}
, тогда я хочу следующее поведение:
Когда логическая переменная имеет значение false, я хочу Jetty Serverничего не отправлять и клиент бесконечно блокировать, пока логическая переменная не станет истинной.Иначе я хочу, чтобы Jetty Server отправлял ответ.
Чтобы лучше понять мой вопрос, код метода сервера я хочу, чтобы он выглядел так:
@GET()
@Path("/message")
@Produces(MediaType.APPLICATION_JSON)
public MessageBean getMessage() {
final MyStore<String, String> myMessageStore = ...
String message = messageStore.readMessage();
boolean messageState = myMessageStore.readBoolean();
if(messageState)
return new StateMessageBean(message);
else
//return something in order for the client to block infinitely
}
Или естьдругой шаблон, который я пропускаю, чтобы сервер Jetty ничего не отправлял, а клиент ждал?Заранее спасибо.