Asynchronous SMPP可选参数

Asynchronous SMPP可选参数,asynchronous,match,correlation,smpp,Asynchronous,Match,Correlation,Smpp,大家好!。我目前正在一个使用JMS队列的系统上工作,该队列通过SMPP发送消息(使用Logica SMPP库) 我的问题是,我需要将一个内部id(我们在系统中管理)附加到消息序列id,以便在异步模式下收到响应时,可以对该特定消息采取适当的操作 我尝试实现的第一个选项是使用为SMPP 3.4建立的可选参数。我在响应中没有收到可选参数(我已经读到响应根据提供程序附加可选参数) 第二种方法是将这些消息的映射保存在内存中,直到收到它们的响应为止(这会使内存饱和,因此是不允许的) 在异步SMPP环境中,还

大家好!。我目前正在一个使用JMS队列的系统上工作,该队列通过SMPP发送消息(使用Logica SMPP库)

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

我尝试实现的第一个选项是使用为SMPP 3.4建立的可选参数。我在响应中没有收到可选参数(我已经读到响应根据提供程序附加可选参数)

第二种方法是将这些消息的映射保存在内存中,直到收到它们的响应为止(这会使内存饱和,因此是不允许的)

在异步SMPP环境中,还有谁能想出一个可行的解决方案,将消息的内部系统ID与其序列号关联起来


感谢您抽出时间。

您需要保留一个seq_nr-内部消息id的映射,并在收到SMSC的异步响应后立即从该映射中删除。
它不应使内存饱和,因为它将只保留机上消息,但您需要定期迭代映射并删除孤立条目(因为有时您无法从smsc获得回复)。

您需要保留一个seq_nr-internal message id的映射,并在从smsc获得异步响应后立即从此映射中删除。 它不应该使内存饱和,因为它只会保存飞行中的消息,但您需要周期性地在地图上迭代并删除孤立的条目(因为有时您无法从smsc获得回复)