camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pontus Ullgren <ullg...@gmail.com>
Subject Re: camel-smpp in trx mode
Date Sun, 13 Jan 2013 10:19:17 GMT
On Sat, Jan 12, 2013 at 6:47 PM, Christian Müller
<christian.mueller@gmail.com> wrote:
> The smslib model is a bit different. The smslib camel consumer pull the
> short messages for the SMSC. And only if a consumer is defined (
> from("smslib://...") ).
> In the smpp Camel component, the SMPP library push the short messages (and
> delivery receipt messages) to the client if the client is connected in the
> TRX mode.
> Assume there is only one producer ( to("smpp://...") ) defined and no
> consumer. The SMPP library push the message to the client. Because there is
> no Camel consumer, there is no route which can consume/handle/process/...
> this message. What is a good/acceptable behavior in this case?
>
Not sure what the JSMPP library allows us to do but on a protocol level you can
reply with a deliver_sm_resp to indicate a failed command_status. Perhaps this
is a solution if there is no consuming endpoint.

Another solution would be to refuse to start the producer endpoint in
trx mode if
there is no corresponding consuming endpoint defined. If I do not
remember incorrectly
a similar restriction applies to direct endpoints ?

// Pontus


> Best,
> Christian
>
> On Thu, Jan 10, 2013 at 1:37 PM, Alex Anderson <alex@frontlinesms.com>wrote:
>
>> On 4 January 2013 17:26, Christian Müller <christian.mueller@gmail.com>
>> wrote:
>> > I think we don't have another camel component where the endpoint is a
>> > consumer and producer. I'm not sure how/if it works or if we hit problems
>> > in other areas (exception handling, ...).
>>
>> We do this for the camel-smslib component.  The endpoint represents a
>> serial connection to an SMS modem, and therefore must deal with either
>> sending or receiving of messages or both.  I have no idea if this is a
>> recommended approach from camel perspective, but it works for us.  My
>> interpretation of the camel doc was that returning `true` from
>> Endpoint.isSingleton() should allow for one Endpoint per URI, but
>> multiple consumers/producers tied to the Endpoint.
>>
>> You can see example at
>>
>> https://github.com/frontlinesms/camel-smslib/blob/master/src/main/java/net/frontlinesms/camel/smslib/SmslibEndpoint.java
>>
>
>
>
> --

Mime
View raw message