1

美好的一天,伙计们!我目前正在使用通过 SMPP 发送消息的 JMS 队列的系统(使用 Logica SMPP 库)。

我的问题是我需要将一个内部 ID(我们在系统内管理)附加到消息序列 ID,以便在异步模式下我收到响应时,可以对该特定消息采取适当的操作。

我尝试实现的第一个选项是使用为 SMPP 3.4 建立的可选参数。我没有收到响应中的可选参数(我读过响应附加了可选参数,具体取决于提供者)。

第二种方法是在内存中保留这些消息的映射,直到收到它们的响应(它使内存饱和,所以这是不行的)。

任何人都可以想出一个可行的解决方案,在异步 SMPP 环境中将消息的内部系统 ID 与其序列号相关联吗?

感谢您的时间。

4

1 回答 1

1

您需要保留 seq_nr - 内部消息 ID 的映射,并在收到 SMSC 的异步响应后立即从该映射中删除。它不应该使内存饱和,因为它只会保留飞行消息,但您需要定期迭代地图并删除孤立的条目(因为有时您不会从 smsc 得到回复)。

于 2013-02-22T16:18:56.980 回答