Correction I was wrong on the direct endpoint restriction.

I was thinking about the log message that occurs when a exchange is
send to a direct endpoint without a consumer. So perhaps there is no
way to determine if there is a corresponding consuming endpoint at
start.

On Sun, Jan 13, 2013 at 11:19 AM, Pontus Ullgren <ullg...@gmail.com> wrote:
> On Sat, Jan 12, 2013 at 6:47 PM, Christian Müller
> <christian.muel...@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 <a...@frontlinesms.com>wrote:
>>
>>> On 4 January 2013 17:26, Christian Müller <christian.muel...@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
>>>
>>
>>
>>
>> --

Reply via email to