SmppInboundChannelAdapter AbstractReceivingMessageListener
В SmppInboundChannelAdapter
декларация AbstractReceivingMessageListener
имеет неоперативный для onDeliveryReceipt
метод. Я однако устанавливаю registered_delivery
токен в исходящем шлюзе smpp и хотел бы получить квитанцию о доставке. Если я добавлю реализацию MessageReceiverListener
для набора слушателей в исходящем шлюзе, который получит квитанцию о доставке, или входящий адаптер получит ее первым?
1 ответ
Ну смотря SmppInboundChannelAdapter
а также SmppOutboundGateway
мы видим, что они используют то же самое ExtendedSmppSession
экземпляр (если вы делаете это из конфига, конечно).
Теперь давайте посмотрим на DelegatingMessageReceiverListener
используется из ExtendedSmppSessionAdaptingDelegate
, Он просто повторяет и вызывает всех настроенных слушателей:
public void onAcceptDeliverSm(DeliverSm deliverSm) throws ProcessRequestException {
for (MessageReceiverListener l : this.messageReceiverListenerSet)
l.onAcceptDeliverSm(deliverSm);
}
И отсюда это не имеет значения, что внутренний SmppInboundChannelAdapter
AbstractReceivingMessageListener
реализация ничего не делает в своем onDeliveryReceipt
потому что твой обычай listener
на session
может справиться с этим.