AppEngine должен вызывать исключение ChannelFailureException всякий раз, когда возникает ошибка при отправке сообщения на канал, например. когда канал не подключен.appengine ChannelFailureException не выбрасывается в dev
Похоже, что сервер-разработчик не выбрасывает это исключение. Это действительно показывает предупреждение в консоли:
com.google.appengine.api.channel.dev.ChannelManager sendMessage
WARNING: Skipping message to unconnected channel: <clientId>
это предупреждение кажется генерироваться: com.google.appengine.api.channel.dev.LocalChannelFailureException
Однако, фактическое исключение (т.е. com.google.appengine.api.channel.ChannelFailureException) не выбрасывается. Кто-нибудь знает, как тестировать это исключение в процессе разработки?
нормально, так выше поведение присутствует только в среде Dev? Не могли бы вы рассказать о том, почему ** ПРЕДУПРЕЖДЕНИЕ: Пропуск сообщения на несвязанный канал: отображается? **. Это предупреждение отображается только тогда, когда канал не подключен (т. Е. Пользователь выйдет из системы). ClientId и сообщение хорошо сформированы. Если пользователь вошел в систему, сообщение отправляется без предупреждения с использованием того же clientId и сообщения. –
Предупреждение просто информационное. Это не произойдет в производстве. –
oh ok. так что исключение будет вызываться при сбое инфраструктуры канала. Итак, что мы можем сделать, когда это произойдет? Должны ли мы повторить отправку сообщения? И поскольку исключение не выбрано в dev, я думаю, что единственный способ проверить (если возможно) - загрузить и попробовать, пока он не выкинет это исключение? –