No se puede transmitir a una sola conexión usando Atmosphere runtime

Estoy usando Atmosphere runtime 0.6 Snapshot. Tomcat 7 está registrando correctamente que estoy usando el conector Http11 Nio y no hay ninguna advertencia de que se usará BlockingIO.

Estoy tratando de enviar mensajes a tres tipos de canales.

Global Broadcaster: transmisión a todos los recursos suspendidos. (Todas)Transmitir a un recurso particular (por ejemplo, socio)Transmitir al recurso actual (Self)

Cuando ocurre una acción de inicio de sesión, ¿qué tengo que almacenar en la sesión para lograr este tipo de transmisión?

Algunos detalles de mi código son los siguientes:

My Handler implementa AtmosphereHandler

En el constructor, ejemplifico el globalBroadcaster de la siguiente manera:

globalBroadcaster = new DefaultBroadcaster();

Al iniciar sesión,

resource.getAtmosphereConfig().getServletContext().setAttribute(name, selfBroadcaster); donde nombre es el nombre de usuario del parámetro de solicitud y selfBroadcaster es una nueva instancia de DefaultBroadcaster.

Aquí está el código para sendMessageToPartner,

private synchronized void sendMessageToPartner(Broadcaster selfBroadcaster, AtmosphereResource<HttpServletRequest, HttpServletResponse> resource,String name, String message) {<br>// this gives the partner's name<br>String partner= (String) resource.getAtmosphereConfig().getServletContext().getAttribute(name + PARTNER_NAME_TOKEN);<br>// get partner's broadcaster<br>Broadcaster outsiderBroadcaster = (Broadcaster) resource<br>.getAtmosphereConfig().getServletContext()<br>.getAttribute(partner);<br>if (outsiderBroadcaster == null) {<br>sendMessage(selfBroadcaster, "Invalid user " + partner);<br>return;<br>}<br>// broadcast to partner<br>outsiderBroadcaster.broadcast(" **" + message);

Espero haber dado toda la información requerida. Puedo proporcionar más información si es necesario.

El problema es que se envía el mensaje global. Cuando se envía un mensaje al socio, a veces se bloquea, el mensaje no se recibe en el cliente. Esto sucede constantemente después de 3-4 mensajes.

¿Hay algún problema de roscado? ¿Qué estoy haciendo mal?

Espero que alguien me ayude con esto.

Respuestas a la pregunta(1)

Su respuesta a la pregunta