You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by Peter Palaga <pp...@redhat.com> on 2017/09/29 15:50:34 UTC

Why is StompComponent.createEndpoint() prepending "/" ?

Hi Dejan and Camel devs,

I am integrating the Stomp Camel Component to WildFly Camel and I cannot 
get my integration test [1] pass. For whatever reason, ActiveMQ Artemis 
embedded in WildFly expects queue names to start with "jms.queue.". 
However, StompComponent.createEndpoint() [2] makes it impossible to pass 
such a queue name to the broker because it always prepends "/". When I 
replace

   destination = "/" + remaining.replaceAll(":", "/");

in with just

   destination = remaining.replaceAll(":", "/");

or even

   destination = remaining;

my test passes fine.

Could please somebody explain why is the "/" prefix and the 
remaining.replaceAll(":", "/") necessary at all?

Thanks,

Peter


[1] 
https://github.com/ppalaga/wildfly-camel/commit/15e3e6098b3976cb057f4208565296ea6bd54017#diff-bf122ce705f9ef0b3920d968d1f13f2aR94

[2] 
https://github.com/apache/camel/blame/master/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompComponent.java#L57


Re: Why is StompComponent.createEndpoint() prepending "/" ?

Posted by Peter Palaga <pp...@redhat.com>.
... and proposed a fix https://github.com/apache/camel/pull/1989 -- P

On 02/10/17 11:31, Peter Palaga wrote:
> I just created a Jira https://issues.apache.org/jira/browse/CAMEL-11871 
> -- P
> 
> On 29/09/17 17:50, Peter Palaga wrote:
>> Hi Dejan and Camel devs,
>>
>> I am integrating the Stomp Camel Component to WildFly Camel and I 
>> cannot get my integration test [1] pass. For whatever reason, ActiveMQ 
>> Artemis embedded in WildFly expects queue names to start with 
>> "jms.queue.". However, StompComponent.createEndpoint() [2] makes it 
>> impossible to pass such a queue name to the broker because it always 
>> prepends "/". When I replace
>>
>>    destination = "/" + remaining.replaceAll(":", "/");
>>
>> in with just
>>
>>    destination = remaining.replaceAll(":", "/");
>>
>> or even
>>
>>    destination = remaining;
>>
>> my test passes fine.
>>
>> Could please somebody explain why is the "/" prefix and the 
>> remaining.replaceAll(":", "/") necessary at all?
>>
>> Thanks,
>>
>> Peter
>>
>>
>> [1] 
>> https://github.com/ppalaga/wildfly-camel/commit/15e3e6098b3976cb057f4208565296ea6bd54017#diff-bf122ce705f9ef0b3920d968d1f13f2aR94 
>>
>>
>> [2] 
>> https://github.com/apache/camel/blame/master/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompComponent.java#L57 
>>
>>
> 


Re: Why is StompComponent.createEndpoint() prepending "/" ?

Posted by Peter Palaga <pp...@redhat.com>.
I just created a Jira https://issues.apache.org/jira/browse/CAMEL-11871 -- P

On 29/09/17 17:50, Peter Palaga wrote:
> Hi Dejan and Camel devs,
> 
> I am integrating the Stomp Camel Component to WildFly Camel and I cannot 
> get my integration test [1] pass. For whatever reason, ActiveMQ Artemis 
> embedded in WildFly expects queue names to start with "jms.queue.". 
> However, StompComponent.createEndpoint() [2] makes it impossible to pass 
> such a queue name to the broker because it always prepends "/". When I 
> replace
> 
>    destination = "/" + remaining.replaceAll(":", "/");
> 
> in with just
> 
>    destination = remaining.replaceAll(":", "/");
> 
> or even
> 
>    destination = remaining;
> 
> my test passes fine.
> 
> Could please somebody explain why is the "/" prefix and the 
> remaining.replaceAll(":", "/") necessary at all?
> 
> Thanks,
> 
> Peter
> 
> 
> [1] 
> https://github.com/ppalaga/wildfly-camel/commit/15e3e6098b3976cb057f4208565296ea6bd54017#diff-bf122ce705f9ef0b3920d968d1f13f2aR94 
> 
> 
> [2] 
> https://github.com/apache/camel/blame/master/components/camel-stomp/src/main/java/org/apache/camel/component/stomp/StompComponent.java#L57 
> 
>