Apache camel Camel-SMPP-Server

Apache camel Camel-SMPP-Server,apache-camel,jbossfuse,fuseesb,apache-servicemix,jsmpp,Apache Camel,Jbossfuse,Fuseesb,Apache Servicemix,Jsmpp,我熟悉Camel SMPP,而且它对我的消费者和生产商路线非常有用。我正在使用Selenium SMPP SIM对其进行测试 从uri=”smpp://smppclient@127.0.0.1:8056?密码=密码&系统类型=消费者“/> 到uri=”smpp://smppclient@本地主机:2775?密码=密码和系统类型=生产者“/> 然而,我想让我的Camel作为服务器运行(它接受来自多个客户端的SMS)。我的当前发件人路线与一个SMS发件人紧密耦合。如何将其修改为通用服务器。是否可以使

我熟悉Camel SMPP,而且它对我的消费者和生产商路线非常有用。我正在使用Selenium SMPP SIM对其进行测试

从uri=”smpp://smppclient@127.0.0.1:8056?密码=密码&系统类型=消费者“/>

到uri=”smpp://smppclient@本地主机:2775?密码=密码和系统类型=生产者“/>


然而,我想让我的Camel作为服务器运行(它接受来自多个客户端的SMS)。我的当前发件人路线与一个SMS发件人紧密耦合。如何将其修改为通用服务器。是否可以使用驼色?

如果我正确理解您的问题,您有:

  • 127.0.0.1:8056作为短信客户端
  • 本地主机:2775作为短信发送者
看起来像这样

from:client1 ----> to:sender1
假设您想将更多的短信客户端连接到您的短信发送者

from:client1 -----> to:sender1
from:client2 ----/
from:client3 ---/
您只需从
节点添加更多的

我认为您正在使用SpringishXML文件来配置Camel。这意味着您要以声明的方式来做,而camel做的和您在xml文件中声明的一样多。没有循环之类的。因此,您需要从uri=”添加更多的
smpp://smppclient@127.0.0.1:8056?密码=密码&系统类型=消费者“/>
行插入xml。换句话说,您可以使用camel java API动态配置/添加节点。因此,您可以从DB或其他任何地方配置或添加节点

好吧,但您必须向uri添加尽可能多的
”smpp://smppclient@localhost:2775?password=password&&systemType=producer/>
节点,这与我们的意思不完全一样。为了解决这个问题,我们在它们之间添加了一个抽象节点。它看起来像:

from:client1 -----> direct:sender ----> to:sender1
from:client2 ----/
from:client3 ---/
因此,您的代码将是:

from uri="smpp://smppclient@127.0.0.1:8056?password=password&systemType=consumer"/>
to uri="direct://sender"
from uri="smpp://smppclient2@...."/>
to uri="direct://sender"
from uri="smpp://smppclient3@..."/>
to uri="direct://sender"

from uri="direct://sender"
to uri="smpp://smppclient@localhost:2775?password=password&&systemType=producer"/>

可以考虑使用<代码> SEDA/COD>而不是<代码>直接<代码>,这样你就可以很容易地排队了。

你有这些客户的列表吗?我想问的是,如果你在接受请求之前有这样的列表,它可能是可以实现的。我没有客户列表。我有一些解决方案可以分享,但你从哪里获取动态客户?请求、数据库还是什么?如问题中所述,我没有发件人列表。我将如何配置fromAhh,因此,您不希望在Camel中配置所有客户端,并从smppclient提取所有请求。但您希望将请求从smppclient推送到通用的驼峰smpp接收器。因此,您不需要为每个客户端从节点进行配置。我说的对吗?问题是smppclient是否能够推送或连接到camel通用服务器。否则我无法想象如何配置这样的东西。是的。。问题是关于camel充当服务器。您可以使用Netty或Mina组件公开一个要与之通信的端口。正如我所说,问题是smppclient是否能够连接到camel服务器。还有一种简单的方法可以将消息放到camel中,那就是使用文件或jms。在第一种情况下,smppclient将在特定文件夹中生成一个文件,camel将使用它。在第二种情况下,您将需要某种类型的MQ(ActiveMQ),smppclient将消息放入队列,而camel将从队列中使用这些消息。