You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by Charles Souillard <Ch...@ext.bull.net> on 2006/03/16 15:29:25 UTC

Queue creation in servicemix-jms

Hi all,

I am trying to deploy a SU to servicemix-jms (SM-jms).
This SU is a consumer, as its role is to forward a received message on 
HelloWorldQueue to another service called HelloWorldService deployed 
into my BPEL component.

I am trying to understand how SM-jms is creating queues.
I have browsed the java code and made some modifications to observe the 
SM-jms comportment.
Here is my understanding :

If the role is consumer, the MultiplexingConsumerProcessor.doStart 
method is called when the SU is installed.
This method search for the jndi and then create a new session.
Then the session.createQueue method is called but the resulting queue is 
never bound in the JNDI.

So my question is : how is it possible for an external client to send a 
message on this queue ?
I can only see examples with activemq code, so it doesn't help me to 
know how it runs...

Thanks,
Charles


Re: Queue creation in servicemix-jms

Posted by Guillaume Nodet <gn...@gmail.com>.
Something like
   session.createQueue("myQueue")
will do all the trick.
There is no need for administration things...
It's much simpler like that.

Guillaume Nodet

On 3/17/06, Charles Souillard <Ch...@ext.bull.net> wrote:
>
> Thanks Guillaume,
> I will have a look at the "biggest" JORAM doc...
>
> For my information, can you explain me how it works in activeMQ as I
> know you know it very well ?
> I just want to know how it is possible with activeMQ to send a message
> on a queue dynamically created and not available in the jndi.
>
> Thanks,
> Charles
>
> Guillaume Nodet wrote:
>
> >Usually, JMS brokers have to create the physical queue by some
> >administration process and bound to JNDI.
> >Using ActiveMQ, the physical destination will be create on the fly so
> >that there is no need for JNDI.
> >Please read the http://joram.objectweb.org/current/doc/Joram-4.3-en.pdf
> >doc, it seems at a glance that everything is explained in it.
> >
> >Guillaume Nodet
> >
> >On 3/16/06, Charles Souillard <Ch...@ext.bull.net> wrote:
> >
> >
> >>Guillaume,
> >>
> >>It is possible for me to that with JORAM. In fact session.createQueue is
> >>in the jms spec.
> >>My problem is that SM-jms doesn't bind the queue in jndi.
> >>How is it working for ActiveMQ ?
> >>Is the queue available in the jndi after session.createQueue ?
> >>The problem is I can't modify SM code to create a queue with JORAM !
> >>Perhaps there is a mechanism like the one used by activeMQ.
> >>Can you explain me how a client can find the dynamically created queue
> >>in ActiveMQ ?
> >>
> >>Thanks a lot
> >>Charles
> >>Guillaume Nodet wrote:
> >>
> >>
> >>
> >>>Yes, a great feature of ActiveMQ is that queues are created
> dynamically.
> >>>However, queue creation is not specified by the jms spec and AFAIK
> >>>the Session.createQueue method does not really creates the queue, but
> >>>only a pointer to it.
> >>>You will have to check Joram administration doc to see how queues can
> >>>be created and exposed to JNDI.
> >>>
> >>>Guillaume Nodet
> >>>
> >>>On 3/16/06, Charles Souillard <Ch...@ext.bull.net> wrote:
> >>>
> >>>
> >>>
> >>>
> >>>>Hi all,
> >>>>
> >>>>I am trying to deploy a SU to servicemix-jms (SM-jms).
> >>>>This SU is a consumer, as its role is to forward a received message on
> >>>>HelloWorldQueue to another service called HelloWorldService deployed
> >>>>into my BPEL component.
> >>>>
> >>>>I am trying to understand how SM-jms is creating queues.
> >>>>I have browsed the java code and made some modifications to observe
> the
> >>>>SM-jms comportment.
> >>>>Here is my understanding :
> >>>>
> >>>>If the role is consumer, the MultiplexingConsumerProcessor.doStart
> >>>>method is called when the SU is installed.
> >>>>This method search for the jndi and then create a new session.
> >>>>Then the session.createQueue method is called but the resulting queue
> is
> >>>>never bound in the JNDI.
> >>>>
> >>>>So my question is : how is it possible for an external client to send
> a
> >>>>message on this queue ?
> >>>>I can only see examples with activemq code, so it doesn't help me to
> >>>>know how it runs...
> >>>>
> >>>>Thanks,
> >>>>Charles
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>
> >>>
> >>>
> >
> >
> >
>

Re: Queue creation in servicemix-jms

Posted by Charles Souillard <Ch...@ext.bull.net>.
Thanks Guillaume,
I will have a look at the "biggest" JORAM doc...

For my information, can you explain me how it works in activeMQ as I 
know you know it very well ?
I just want to know how it is possible with activeMQ to send a message 
on a queue dynamically created and not available in the jndi.

Thanks,
Charles

Guillaume Nodet wrote:

>Usually, JMS brokers have to create the physical queue by some
>administration process and bound to JNDI.
>Using ActiveMQ, the physical destination will be create on the fly so
>that there is no need for JNDI.
>Please read the http://joram.objectweb.org/current/doc/Joram-4.3-en.pdf
>doc, it seems at a glance that everything is explained in it.
>
>Guillaume Nodet
>
>On 3/16/06, Charles Souillard <Ch...@ext.bull.net> wrote:
>  
>
>>Guillaume,
>>
>>It is possible for me to that with JORAM. In fact session.createQueue is
>>in the jms spec.
>>My problem is that SM-jms doesn't bind the queue in jndi.
>>How is it working for ActiveMQ ?
>>Is the queue available in the jndi after session.createQueue ?
>>The problem is I can't modify SM code to create a queue with JORAM !
>>Perhaps there is a mechanism like the one used by activeMQ.
>>Can you explain me how a client can find the dynamically created queue
>>in ActiveMQ ?
>>
>>Thanks a lot
>>Charles
>>Guillaume Nodet wrote:
>>
>>    
>>
>>>Yes, a great feature of ActiveMQ is that queues are created dynamically.
>>>However, queue creation is not specified by the jms spec and AFAIK
>>>the Session.createQueue method does not really creates the queue, but
>>>only a pointer to it.
>>>You will have to check Joram administration doc to see how queues can
>>>be created and exposed to JNDI.
>>>
>>>Guillaume Nodet
>>>
>>>On 3/16/06, Charles Souillard <Ch...@ext.bull.net> wrote:
>>>
>>>
>>>      
>>>
>>>>Hi all,
>>>>
>>>>I am trying to deploy a SU to servicemix-jms (SM-jms).
>>>>This SU is a consumer, as its role is to forward a received message on
>>>>HelloWorldQueue to another service called HelloWorldService deployed
>>>>into my BPEL component.
>>>>
>>>>I am trying to understand how SM-jms is creating queues.
>>>>I have browsed the java code and made some modifications to observe the
>>>>SM-jms comportment.
>>>>Here is my understanding :
>>>>
>>>>If the role is consumer, the MultiplexingConsumerProcessor.doStart
>>>>method is called when the SU is installed.
>>>>This method search for the jndi and then create a new session.
>>>>Then the session.createQueue method is called but the resulting queue is
>>>>never bound in the JNDI.
>>>>
>>>>So my question is : how is it possible for an external client to send a
>>>>message on this queue ?
>>>>I can only see examples with activemq code, so it doesn't help me to
>>>>know how it runs...
>>>>
>>>>Thanks,
>>>>Charles
>>>>
>>>>
>>>>
>>>>
>>>>        
>>>>
>>>
>>>      
>>>
>
>  
>

Re: Queue creation in servicemix-jms

Posted by Guillaume Nodet <gn...@gmail.com>.
Usually, JMS brokers have to create the physical queue by some
administration process and bound to JNDI.
Using ActiveMQ, the physical destination will be create on the fly so
that there is no need for JNDI.
Please read the http://joram.objectweb.org/current/doc/Joram-4.3-en.pdf
doc, it seems at a glance that everything is explained in it.

Guillaume Nodet

On 3/16/06, Charles Souillard <Ch...@ext.bull.net> wrote:
>
> Guillaume,
>
> It is possible for me to that with JORAM. In fact session.createQueue is
> in the jms spec.
> My problem is that SM-jms doesn't bind the queue in jndi.
> How is it working for ActiveMQ ?
> Is the queue available in the jndi after session.createQueue ?
> The problem is I can't modify SM code to create a queue with JORAM !
> Perhaps there is a mechanism like the one used by activeMQ.
> Can you explain me how a client can find the dynamically created queue
> in ActiveMQ ?
>
> Thanks a lot
> Charles
> Guillaume Nodet wrote:
>
> >Yes, a great feature of ActiveMQ is that queues are created dynamically.
> >However, queue creation is not specified by the jms spec and AFAIK
> >the Session.createQueue method does not really creates the queue, but
> >only a pointer to it.
> >You will have to check Joram administration doc to see how queues can
> >be created and exposed to JNDI.
> >
> >Guillaume Nodet
> >
> >On 3/16/06, Charles Souillard <Ch...@ext.bull.net> wrote:
> >
> >
> >>Hi all,
> >>
> >>I am trying to deploy a SU to servicemix-jms (SM-jms).
> >>This SU is a consumer, as its role is to forward a received message on
> >>HelloWorldQueue to another service called HelloWorldService deployed
> >>into my BPEL component.
> >>
> >>I am trying to understand how SM-jms is creating queues.
> >>I have browsed the java code and made some modifications to observe the
> >>SM-jms comportment.
> >>Here is my understanding :
> >>
> >>If the role is consumer, the MultiplexingConsumerProcessor.doStart
> >>method is called when the SU is installed.
> >>This method search for the jndi and then create a new session.
> >>Then the session.createQueue method is called but the resulting queue is
> >>never bound in the JNDI.
> >>
> >>So my question is : how is it possible for an external client to send a
> >>message on this queue ?
> >>I can only see examples with activemq code, so it doesn't help me to
> >>know how it runs...
> >>
> >>Thanks,
> >>Charles
> >>
> >>
> >>
> >>
> >
> >
> >
>

Re: Queue creation in servicemix-jms

Posted by Charles Souillard <Ch...@ext.bull.net>.
Guillaume,

It is possible for me to that with JORAM. In fact session.createQueue is 
in the jms spec.
My problem is that SM-jms doesn't bind the queue in jndi.
How is it working for ActiveMQ ?
Is the queue available in the jndi after session.createQueue ?
The problem is I can't modify SM code to create a queue with JORAM !
Perhaps there is a mechanism like the one used by activeMQ.
Can you explain me how a client can find the dynamically created queue 
in ActiveMQ ?

Thanks a lot
Charles
Guillaume Nodet wrote:

>Yes, a great feature of ActiveMQ is that queues are created dynamically.
>However, queue creation is not specified by the jms spec and AFAIK
>the Session.createQueue method does not really creates the queue, but
>only a pointer to it.
>You will have to check Joram administration doc to see how queues can
>be created and exposed to JNDI.
>
>Guillaume Nodet
>
>On 3/16/06, Charles Souillard <Ch...@ext.bull.net> wrote:
>  
>
>>Hi all,
>>
>>I am trying to deploy a SU to servicemix-jms (SM-jms).
>>This SU is a consumer, as its role is to forward a received message on
>>HelloWorldQueue to another service called HelloWorldService deployed
>>into my BPEL component.
>>
>>I am trying to understand how SM-jms is creating queues.
>>I have browsed the java code and made some modifications to observe the
>>SM-jms comportment.
>>Here is my understanding :
>>
>>If the role is consumer, the MultiplexingConsumerProcessor.doStart
>>method is called when the SU is installed.
>>This method search for the jndi and then create a new session.
>>Then the session.createQueue method is called but the resulting queue is
>>never bound in the JNDI.
>>
>>So my question is : how is it possible for an external client to send a
>>message on this queue ?
>>I can only see examples with activemq code, so it doesn't help me to
>>know how it runs...
>>
>>Thanks,
>>Charles
>>
>>
>>    
>>
>
>  
>

Re: Queue creation in servicemix-jms

Posted by Guillaume Nodet <gn...@gmail.com>.
Yes, a great feature of ActiveMQ is that queues are created dynamically.
However, queue creation is not specified by the jms spec and AFAIK
the Session.createQueue method does not really creates the queue, but
only a pointer to it.
You will have to check Joram administration doc to see how queues can
be created and exposed to JNDI.

Guillaume Nodet

On 3/16/06, Charles Souillard <Ch...@ext.bull.net> wrote:
>
> Hi all,
>
> I am trying to deploy a SU to servicemix-jms (SM-jms).
> This SU is a consumer, as its role is to forward a received message on
> HelloWorldQueue to another service called HelloWorldService deployed
> into my BPEL component.
>
> I am trying to understand how SM-jms is creating queues.
> I have browsed the java code and made some modifications to observe the
> SM-jms comportment.
> Here is my understanding :
>
> If the role is consumer, the MultiplexingConsumerProcessor.doStart
> method is called when the SU is installed.
> This method search for the jndi and then create a new session.
> Then the session.createQueue method is called but the resulting queue is
> never bound in the JNDI.
>
> So my question is : how is it possible for an external client to send a
> message on this queue ?
> I can only see examples with activemq code, so it doesn't help me to
> know how it runs...
>
> Thanks,
> Charles
>
>