Hello Ioannis, hello Peter!
If we create the session, we have to bind it as receiver, transmitter or
transceiver. At the moment we bind it as receiver (consumer -
from("smpp://")) or transmitter (producer - to("smpp://")).
If we bind it as transceiver, the user have to create a route like:
from("...")
.to("smpp://...")
.to("direct:X");
and "direct:X" will be called after the short message was sent *AND* when a
new deliver notification arrived *AND* for an incoming short message. This
means the user have to define a choice to distinguish the different cases.
from("...")
.to("smpp://...")
.choice()
.when(header("X").isEqualTo("X"))
.to("direct:X")
.when(header("Y").isEqualTo("Y"))
.to("direct:Y")
.when(header("Z").isEqualTo("Z"))
.to("direct:Z")
.end();
Looks not really nice.
But what should happen, when the user define the route like this?
from("...")
.to("smpp://...");
and we receive the deliver notifications or an incoming short message?
Should we throw an exception?
Best,
Christian
On Fri, Oct 21, 2011 at 9:54 AM, Ioannis Canellos <[email protected]> wrote:
> Here are some thoughts.
> Currently the producer and consumer of the smpp endpoint create their own
> sessions. If the sessions were handled by the endpoint itself we may were
> able to have a producer and consumer use the same smpp session. This would
> probably allow us to consume messages (deliversm) from the same session we
> use to produce (submitsm). This would also open the way to
> bind transceivers too.
>
>
> @Christian, do you think that something like this makes sense?
>
> --
> *Ioannis Canellos*
> *
> FuseSource <http://fusesource.com>
>
> **
> Blog: http://iocanel.blogspot.com
> **
> Apache Karaf <http://karaf.apache.org/> Committer & PMC
> Apache ServiceMix <http://servicemix.apache.org/> Committer
> Apache Gora <http://incubator.apache.org/gora/> Committer
> *
>