Что это.
jsmpp это java библиотека для работы с протоколом SMPP. Очень веселая надо признаться библиотека. Несмотря на всю простоту простокала, ей реализуемого, сама она ниразу не претендует на простоту как понимания так и реального использования. При этом функционал, как это не прискорбно, охвачен далеко не полностью а способы расширения функционала весьма не очевидны(об этом далее). Кроме того она до мозга костей пронизана java-way'ем. Прибавьте сюда от факт что персонаж писавший этот курсовой проект просто дичайшим образом переел паттернов. конкретно ему очень понравилась идея делегирования. И он ее применил где только мог. В исходных кодах этой библиотеки я усмотрел наверное всего пару классов которые никуда свои инстансы не передают. Глубина такой передачи запросто может превышать один объект.
Краткое описание моих злоключений.
Есть созданный не мной простенький смсцентр с использованием этой библиотеки. И в один прекрасный момент потребовалось оганизовать в нем принудительную отдачу ESME_RTHROTTLED в некоторых случаях. Не спрашивайте зачем это могло понадобится. Просто примите к сведению факт - понадобилось. При наличии огромного количества EventListner'ов и прочих CallbackHandler'ов нет возможности назначить обработчик входящего сообщения так чтобы он вызывался в нужный момент. А организация обработки входящего сообщения в нужной тебе последовательности просто не предусмотрена. Задача решлась с помощью грязного хака. Я принудительно подменяю значение ESME_ROK на
ESME_RTHROTTLED.
Итого:
Если возникает желание воспользоваться этой библиотекой то лучше:
1) Глубоко вздохнуть
2) Перечитать спецификацию SMPP
3) Придумать другой способ решения проблемы
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий