Java SMPP库比较

时间:2013-01-16 21:57:15

标签: java smpp

我们即将开始一个需要使用SMPP作为主要集成交换渠道的项目。既然SMS不一定是我们业务的核心,我想使用一个最简单的Java的SMPP库。除了使用实际的协议之外,我们不太可能需要更高级的能力或者在引擎盖下进行调整。

为此,我列出了一些可能的选项:

  • Logica的Open SMPP
  • Apache的Camel
  • JS​​MPP
  • Twitter的Cloudhopper

那些在使用方面更有经验的人可以按照自己的方式投入一些经验吗?

编辑:为了给用例提供范围,我们将发送和接收短信,因此希望通过客户端操作和服务器监听器实现使库变得简单。

7 个答案:

答案 0 :(得分:14)

我使用了jsmpp和& cloudhopper-smpp用于单独的项目,涉及在涉及的情况下发送和接收SMS的smpp:

  • 接收中等数量的MO。
  • 发送大量MT(最高70 /秒)。

两个库都表现良好,IMO jsmpp更加用户友好,可以立即开始编码。但是在使用github的最新版本时我遇到了一些错误,但仍然没有修复。

在使用了cloudhopper后,我认为学习曲线非常值得,与jsmpp(主观)相比,它有点陡峭。

答案 1 :(得分:7)

只是更新了我最终决定的内容(以及库的审核方式):

  1. Logica:看起来很有希望,但我担心整个社区缺乏更新/活跃性。最后一个有意义的构建是yonks前,所以不是我想做的投资。

  2. Apache Camel:我们开始使用它,但是它们的库存在一些限制(我们需要将自定义头部插入到我们的SMPP数据包中)。公平地说,他们在论坛上回答问题的时候非常迅速,但他们的冲刺时间过长了一段时间,所以我们抓住了这个问题。

  3. JSMPP:这是我们最终使用的那个。整体而言非常简单,因为它确实让人觉得你已经对SMPP有了一个相当不错的想法。事情正在进行中,所以我无法告诉你它在生产负荷下的表现如何。它会在上线时更新。

  4. Cloudhopper:说实话,这是我热衷于使用的那个,但更多的是因为像任何一个怪人我想跳上最闪亮的最新玩具。我没有得到足够的回应,我们从关闭的任何问题,所以有点担心加入。没有理由采用一个库,当需要其他更多记录的选项时,需要我通过他们的代码。

答案 2 :(得分:5)

我目前正在使用Logica库实现基于Java的SMPP解决方案。这是非常容易使用。以下信息说明了测试结果:

应用程序:在Glassfish 3.1.2.2中部署的Enterprise Java Bean应用程序 语言:Java(使用JMS)
图书馆:Logica SMPP(版本1.3)
Origin(ESME):localhost
目标(SMSC):开发服务器上的Logica SMSC模拟器(托管在Amazon Web Services中)
类型:Transciever Asynchronous
平均发送率(80%):246 msg / sec
低发送率(15%):50 msg / sec
高发送率(5%):255 msg / sec

只要您坚持异步模式,它就非常有效。如果您需要保持消息与其响应之间的相关性,请使用消息和响应中的“序列号”。

答案 3 :(得分:2)

我们的SMSC是在Logica SMPP(v 1.3)上编写的,它仍然适用于企业负载。关于图书馆的问题只有少数主要有message_payload,老实说,我不记得其他问题。但它很容易修复,因为它是一个开源产品。

虽然我个人信任logica的来源,但对于小型客户我使用jsmpp。我同意@Farhan的说法,它更加用户友好,开发一个简单的客户端需要更少的时间。

答案 4 :(得分:2)

我已经同时使用了jsmpp和smppapi并发现后者更好,因为当时jsmpp只有同步阻塞模式(2010) - 不确定是否仍然如此。

当我连接的SMPP服务器出现一些性能问题并且响应速度比平时慢时,jsmpp的阻塞性质成为大问题的根源。突然间,我发现我所有的线程都在等待回复。迁移到smppapi显然解决了这些问题。

答案 5 :(得分:1)

我已经将Logica SMPP用于生产项目。它不再被主动维护,并且有一些固有的错误导致必须产生变通方法或实际上要求代码库修复。话虽如此,我发现API非常稳定和高性能(300msg / s)。

我简要地看了一下JSMPP,它有一个比Logica好得多的API,尽管似乎有很多缺陷没有得到修复,尽管问题列表已经存在了很长时间。

刚刚遇到Cloudhopper SMPP似乎以更新的风格编码,但它又需要更多示例。不得不通过代码库进行编程并不具吸引力。关于gituhub的例子越来越好了。

答案 6 :(得分:0)

Cloudhopper是最好的选择,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