Отступление атмосферы не работает? - PullRequest
0 голосов
/ 24 мая 2018

Я новичок в атмосфере.Пока что мне удалось добавить атмосферу в мое существующее веб-приложение Tomcat 8 + Spring + Struts2.Я использовал текущую версию (атмосфера-среда выполнения 2.4.24, атмосфера-весна 2.4.20 и атмосфера.js 2.3.5).

Для какой-то простой страницы состояния мне уже удалось получить транспорт SSEработать.Используя Google Chrome или Mozilla Firefox, это работает очень хорошоЯ люблю это!После реализации этого я хотел проверить запасной вариант для браузеров, не способных к SSE (Internet Explorer и Edge).В журналах клиента я вижу, что атмосфера корректно обнаруживает отсутствие функции SSE и использует запасной вариант:

    Server Side Events(SSE) is not supported, using request.fallbackTransport (long-polling)
atmosphere.js (3272,21)

 Thu May 24 2018 08:54:28 GMT+0200 (Mitteleuropäische Sommerzeit) Atmosphere: ajaxRequest.onreadystatechange, new state: 2
atmosphere.js (3272,21)

 Thu May 24 2018 08:54:28 GMT+0200 (Mitteleuropäische Sommerzeit) Atmosphere: ajaxRequest.onreadystatechange, new state: 3
atmosphere.js (3272,21)

 Thu May 24 2018 08:54:28 GMT+0200 (Mitteleuropäische Sommerzeit) Atmosphere: ajaxRequest.onreadystatechange, new state: 4
atmosphere.js (3272,21)

 Thu May 24 2018 08:54:29 GMT+0200 (Mitteleuropäische Sommerzeit) Atmosphere: ajaxRequest.onreadystatechange, new state: 2
atmosphere.js (3272,21)

 Thu May 24 2018 08:54:29 GMT+0200 (Mitteleuropäische Sommerzeit) Atmosphere: Firing onOpen
atmosphere.js (3272,21)

 Atmosphere connected using long-polling
utils.js (879,3)

 Thu May 24 2018 08:54:29 GMT+0200 (Mitteleuropäische Sommerzeit) Atmosphere: Firing onOpen
atmosphere.js (3272,21)

 Thu May 24 2018 08:54:29 GMT+0200 (Mitteleuropäische Sommerzeit) Atmosphere: ajaxRequest.onreadystatechange, new state: 3
atmosphere.js (3272,21)

Но хотя я могу отладить серверную часть и увидеть сообщение, записываемое в AtmosphereResource noданные доходят до клиента.Вот как я инициализирую соединение с атмосферой на стороне клиента:

request = { 
        url: '<s:url value="/public/sse/ci" />',
        contentType: "application/json",
        method: 'POST',
        logLevel: 'debug',
        transport: 'sse',
        reconnectInterval: 5000,
        fallbackTransport: 'long-polling'
    };

Может кто-нибудь дать мне подсказку о правильном направлении?

С уважением,

Себастьян

1 Ответ

0 голосов
/ 29 мая 2018

Хорошо.

Наконец-то я все заработал.Как и в этот вопрос о стековом потоке Я добавил TrackMessageSizeInterceptor в конфигурации моего сервера, но не в конфигурации клиента.Может быть, кто-то еще приходит сюда, чтобы прочитать ответ.

...