Атмосфера + Джерси: Как мне подключить несколько вещателей?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Атмосфера + Джерси: Как мне подключить несколько вещателей?

Сообщение Anonymous »

У меня есть работающее приложение Джерси/Атмосфера/Гайс, которое имеет два ресурса атмосферы. Первый по сути является клоном примера приложения чата:

Код: Выделить всё

@Path("/chat")
@AtmosphereService(broadcaster = JerseyBroadcaster.class, path = "/chat")
public class ChatResource {

@Suspend(contentType = "application/json")
@GET
public String suspend() {
return "";
}

@Broadcast(writeEntity = false)
@POST
@Produces("application/json")
public Response broadcast(Message message) {
return new Response(message.author, message.message);
}
}
Второй — это ресурс тестовых уведомлений, который будет отправлять события на стороне сервера:

Код: Выделить всё

@Path("/notifications")
@AtmosphereService(broadcaster = JerseyBroadcaster.class, path = "/notifications")
public class NotificationsResource {

@Suspend(contentType = "application/json")
@GET
public String suspend() {
return "";
}
}
Все подключено правильно и работает нормально. Однако для отправки события на стороне сервера я выдаю:

Код: Выделить всё

MetaBroadcaster.getDefault().broadcastTo("/*", new Response(...));
Очевидно, что при этом широковещательное сообщение будет отправлено на оба ресурса. Я хочу отправлять события на стороне сервера только в ресурс уведомлений:

Код: Выделить всё

MetaBroadcaster.getDefault().broadcastTo("/notifications", new NotificationResponse(...));
Однако это не работает. Я всегда получаю следующую ошибку:

Код: Выделить всё

org.atmosphere.cpr.MetaBroadcaster - No Broadcaster matches /notifications.
Это потому, что зарегистрирован только один вещатель; JerseyBroadcaster на /*.

Вопрос: как сделать так, чтобы у этих двух ресурсов были разные вещатели с разными ID/Именами?

Подробнее здесь: https://stackoverflow.com/questions/216 ... oadcasters
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»