2013-12-09 29 views
8

Ich bin vertraut mit Camel-SMPP und es funktioniert auch gut für meine Kunden und Produzentenrouten. Ich verwende Selen SMPP SIM, um das gleiche zu testen.Camel SMPP - Server

von uri = "smpp: //[email protected]: 8056 password = Passwort & Systemtype = Verbraucher" />

zu uri = "smpp: // smppclient @ localhost: 2775 password = Passwort & & systemType = Produzent "/>

Allerdings möchte ich meine Camel als Server laufen lassen (der SMS von zahlreichen Clients akzeptiert). Meine aktuelle From-Route ist eng mit einem SMS-Sender gekoppelt. Wie kann ich dies als generischer Server ändern? Ist es in Camel möglich?

+0

haben Sie eine Liste dieser Clients. Was ich fragen möchte ist, wenn Sie eine solche Liste haben, bevor Sie die Anfrage annehmen, könnte es erreichbar sein. – Ashish

+0

Ich habe nicht die Liste der Clients – Joe2013

Antwort

0

wenn ich verstehe, dass Sie sich die Frage, Sie haben:

  • 127.0.0.1:8056 als SMS-Client
  • localhost: 2775 als SMS-Absender

es sieht aus wie diese

from:client1 ----> to:sender1 

können Sie sagen, Sie möchten mehr SMS-Clients zu Ihrem SMS-Absender verbinden.

from:client1 -----> to:sender1 
from:client2 ----/ 
from:client3 ---/ 

Alles, was Sie machen müssen, ist mehr von Knoten hinzuzufügen.

Ich denke, Sie verwenden Springis xml-Datei, um Camel zu konfigurieren. Es bedeutet, dass Sie es auf deklarative Weise tun und camel so viel tut, wie Sie es in Ihrer XML-Datei deklarieren. Nein für Schleifen oder so etwas. Also, buchstäblich müssen Sie mehr from uri="smpp://[email protected]:8056?password=password&systemType=consumer"/> Zeilen in Ihrem XML hinzufügen. Auf andere Weise können Sie die camel java API verwenden, um Ihre Knoten dynamisch zu konfigurieren/hinzuzufügen. So könnten Sie Ihre Knoten aus DB oder was auch immer konfigurieren oder hinzufügen.

Nun, aber Sie müssen so viel to uri="smpp://[email protected]:2775?password=password&&systemType=producer"/> Knoten hinzufügen, was nicht genau das ist, was wir meinten. Um dies zu beheben, fügen wir einen Abstraktionsknoten zwischen. Es wird wie folgt aussehen:

from:client1 -----> direct:sender ----> to:sender1 
from:client2 ----/ 
from:client3 ---/ 

So wird Ihr Code sein:

from uri="smpp://[email protected]:8056?password=password&systemType=consumer"/> 
to uri="direct://sender" 
from uri="smpp://[email protected]"/> 
to uri="direct://sender" 
from uri="smpp://[email protected]"/> 
to uri="direct://sender" 

from uri="direct://sender" 
to uri="smpp://[email protected]:2775?password=password&&systemType=producer"/> 

Sie können Warteschlangen Sie seda statt direct so erhalten ganz einfach zu bedienen betrachten.

+0

Wie in der Frage erwähnt, habe ich nicht die Liste der Absender. Wie konfiguriere ich die von – Joe2013

+0

Ahh, also wollen Sie nicht alle Ihre Kunden in Camel konfigurieren und alle Anfragen von Smppclient ziehen. Aber Sie möchten Anfragen von smppclient an den allgemeinen camel smpp-Empfänger senden. Sie müssen also nicht für jeden Client einen Knoten konfigurieren. Habe ich recht? –

+0

Die Frage ist, ob Sie smppclient in der Lage ist, zu Ihrem camel generischen Server zu pushen oder sich mit ihm zu verbinden. Ansonsten kann ich mir nicht vorstellen, so etwas zu konfigurieren. –