2015-03-10 3 views
0

Мой вопрос касается дизайна; В нашем приложении JavaEE, запущенном на Glassfish 3.1.2, у нас есть реализация кода JSMPP, который отправляет SMS-сообщения клиентам. Этот код использует сторонний поставщик SMS (SMSC), который предоставил нам IP-адрес, порт и учетные данные для входа в систему.Какова наилучшая практика для внедрения JSMPP в среде JavaEE?

Как работает код: Код состоит из EJB, который открывает соединение при запуске (@PostConstruct)

Проблема: Сеанс утерянных/упал/закрыто, как некоторые в то время как приложение работает и это вызывает ResponseTimeoutException при попытке вызвать SMPPSession.submitShortMessage

Мой вопрос: Каков дизайн, который следует выполнить для повторного подключения/повторного открытия сеанса. Это похоже на общее требование, и я надеюсь, что кто-то уже сделал это здесь, что может указать мне в правильном направлении.

Большое спасибо

+0

http://stackoverflow.com/questions/27958634/creating-single-conection-in-jsmpp-not-multiple это решает вашу проблему. –

ответ

1

По умолчанию тайм-аут соединения происходит после 60000 мс, что достаточно времени, чтобы отправить смс на любой стадии. Почему вы всегда хотите, чтобы ваше соединение открывалось. Если вы не отправляете никаких сообщений, в идеале ваше соединение не должно быть открытым. Если ваш EJB запускает ваше соединение при запуске, тогда должен быть включен api для проверки и повторного подключения позже, когда это необходимо. Тайм-аут соединения - стандартный подход для реализации. Тонкая настройка соединения возможна, но сначала вы должны проанализировать, почему вы хотите ее на первом месте? Это стандартный способ реализации или нет?