为此,我已经列出了一些可能的选项:
Logica的Open SMPP、Apache的Camel、JSMPP和Twitter的Cloudhopper。
有更多经验的人可以分享一些他们的使用经验吗?
编辑:为了给使用案例范围,我们将发送和接收短信,因此该库应该希望能够方便地处理客户端操作和服务器监听器实现。
我曾经在不同的项目中使用了jSMPP和cloudhopper-smpp这两个库,用于通过smpp发送和接收短信,情况包括:
这两个库都表现良好,个人认为 jSMPP 更加用户友好,可以立即开始编码。但是,在使用 GitHub 上的最新版本时,我遇到了一些bug,这些bug仍没有得到修复。
在使用cloudhopper之后,我认为这值得学习曲线,相对于jSMPP来说陡峭一些(个人看法)。
以下是我最终决定的更新内容(以及图书馆的审核):
Logica:看起来很有前途,但我担心社区的缺乏更新/活跃性。最后一个有意义的构建版本已经过去了很长时间,所以我不想进行投资。
Apache Camel:我们开始使用它,但他们的库存在一些限制(我们需要向SMPP数据包中插入自定义头)。公平地说,他们在论坛上对问题的回应相当迅速,但他们的构建周期对我的开发周期来说有点太长了,所以我们放弃了这个库。
JSMPP:这是我们最终使用的库。总体上相当简单,但它似乎预期你已经对SMPP有了相当好的了解。目前处于暂存状态,因此我无法告诉您它在生产负载下的表现如何。等到上线后我会进行更新。
Cloudhopper:老实说,这是我想使用的库,但更多的是因为像任何极客一样,我想尝试最新、最闪亮的玩具。但我没有得到任何满意的答复,所以我对加入这个库感到犹豫。没有理由采用一个需要我深入阅读其代码的库,而其他更有文档记录的选项是可用的。
IOException
- 而Cloudhopper与Nexmo一起开箱即用;它还有一个服务器,这对测试来说是一个很大的优势。 - Richard BarnettCloudhopper是最好的选择,Apache的Camel也不错,但它是一个非常庞大的项目,有许多与pdf、salesforce等接口相关的内容,而这些你并不需要。
其他项目已经过时。Cloudhopper由Telestax维护,并添加了一些有用的功能,看起来他们将在未来提供强有力的支持。
以下是用于简化配置Cloudhopper的堆栈: https://github.com/RestComm/smpp-extensions 这是Telestax分支的Cloudhopper(非常更新): https://github.com/RestComm/cloudhopper-smpp 还有JainSlee资源适配器,适用于从事电信领域的人员。 https://github.com/RestComm/jain-slee.smpp
目前我正在使用JSMPP,到目前为止我发现它还不错。Cloudhopper似乎比其他工具更容易使用,但最终我选择了JSMPP,并发现JSMPP也是Apache Camel实现的核心,虽然我可能是错的。