伙计们,日安!我目前正在开发一个使用JMS队列的系统,该队列通过SMPP (使用Logica SMPP库)发送消息。
我的问题是,我需要将内部id (我们在系统中管理的)附加到消息序列id,以便在异步模式下我接收到响应时,可以对该特定消息采取适当的操作。
我尝试实现的第一个选项是使用可选参数,就像在SMPP3.4中建立的那样。我没有在响应中接收到可选参数(我读到响应根据提供程序附加了可选参数)。
第二种方法是在内存中为这些消息保留一个映射,直到接收到它们的响应(它会使内存饱和,所以这是不可能的)。
其他人能想出一种可行的解决方案来在异步SMPP环境中将消息的内部系统ID与其序列号相关联吗?
谢谢您抽时间见我。
发布于 2013-02-23 00:18:57
您需要保留seq_nr内部消息id的映射,并在收到来自SMSC的异步响应后立即从该映射中删除。它应该不会使内存饱和,因为它只保留飞行中的消息,但您需要定期迭代映射并删除孤立的条目(因为有时您不会从smsc获得响应)。
https://stackoverflow.com/questions/14862644
复制相似问题