大家好!我目前正在使用通过SMPP发送消息的JMS队列(使用Logica SMPP库)。
我的问题是我需要将内部id(我们在系统中管理)附加到消息序列id,以便在异步模式下我收到响应时,可以对该特定消息采取适当的操作。 / p>
我尝试实现的第一个选项是使用为SMPP 3.4建立的可选参数。我没有在响应中收到可选参数(我已经读过响应附加了可选参数,具体取决于提供者)。
第二种方法是在这些消息的内存中保留一个映射,直到收到它们的响应(它使内存饱和,所以不行)。
是否有其他人可以考虑将消息的内部系统ID与异步SMPP环境中的序列号相关联的可行解决方案?
感谢您的时间。
答案 0 :(得分:1)
您需要保留seq_nr的地图 - 内部消息ID,并在从SMSC返回异步响应后立即从此地图中删除。 它不应该使内存饱和,因为它只会保留飞行消息,但你需要定期迭代地图并删除孤立的条目(有时你不会从smsc得到响应)。