On 5 September 2012 10:57, Sajith Kariyawasam <[email protected]> wrote:

> On Wed, Sep 5, 2012 at 2:08 PM, Rob Godfrey <[email protected]>
> wrote:
>
> > On 5 September 2012 10:20, Sajith Kariyawasam <[email protected]> wrote:
> >
> > > Thanks Gordon,
> > >
> > > I was able to create a Dynamic queue ..
> > >
> > > Then I was trying to write a message consumer to consume messages from
> > that
> > > particular queue dynamically created. For the time being I tried both
> the
> > > publisher code as well as the consumer code in Java,
> > >
> > > Here are my code samples..
> > >
> > > Sender.java
> > > -----------------
> > >                         Connection connection = new
> > > AMQConnection("amqp://guest:guest@test
> > > /?brokerlist='tcp://localhost:5672'");
> > > Session session = connection.createSession(false,
> > > Session.AUTO_ACKNOWLEDGE);
> > > Destination queue = new AMQAnyDestination("ADDR:sajith_queue_test;
> > {create:
> > > always}");
> > > MessageProducer producer = session.createProducer(queue);
> > > TextMessage message = session.createTextMessage("created234");
> > > producer.send(message);
> > >
> > >
> > >
> > > Receiver.java
> > > ------------------
> > > Connection connection = new AMQConnection("amqp://guest:guest@test
> > > /?brokerlist='tcp://localhost:5672'");
> > > Session session = connection.createSession(false,
> > > Session.AUTO_ACKNOWLEDGE);
> > > Destination queue = new AMQAnyDestination("ADDR:sajith_queue_test;
> > {create:
> > > always}");
> > > MessageConsumer consumer = session.createConsumer(queue);
> > > Message message = consumer.receive();
> > > System.out.println("Receieved : " + message);
> > >
> > >
> > >
> > Does calling start() on the connection object before trying to receive
> > help?
> >
> > -- Rob
> >
> >
> Thanks Rob..! Yeah it works.. :)
>
> Now, why don't we require to invoke connection.start() of the sender?
>
>
>
The JMS spec defines start() as relating only to the receiving of messages.
Weird, I agree, but such is the specification.

Cheers,
Rob


> >
> > >
> > > Here, I'm expecting that receiver will consume the message which was
> > > earlier sent by the Sender, but I don't get any messages printed in
> > > Receiver's side.
> > >
> > > I verified in Qpid-management console as well, there I can see that
> queue
> > > "sajith_queue_test" has been created, and shows following statistics,
> > which
> > > are of relevant
> > >         MessageCount :                 1
> > >         ReceivedMessagCount :      1
> > >         ConsumerCount :                1
> > >         ActiveConsumerCount :       0
> > >
> > > Seems consumer has not been active.. could this be a problem ?
> > >
> > > Also, Im confused a bit, that is, in this way I'm sending and receiving
> > > messages directly to the Queue, but not via an Exchange, isn't it?
> > > According to the AMQP spec, as I
> > > understood, we should deal with an Exchange, and based on the bindings
> > only
> > > messages are sent to the particular queues.
> > >
> > > Appreciate if you could shed some light in order to get my confusions
> > > sorted out..
> > >
> > > Thanks
> > > Sajith
> > >
> > >
> > >
> > > On Wed, Sep 5, 2012 at 12:33 PM, Gordon Sim <[email protected]> wrote:
> > >
> > > > On 09/05/2012 07:55 AM, Sajith Kariyawasam wrote:
> > > >
> > > >> Is it possible in Qpid, to create a queues dynamically, make those
> > > >> queues persistent , and let subscribers subscribe to  it ?
> > > >>
> > > >
> > > > Yes. You can use an address of the form:
> > > >
> > > >   my-queue; {create:always, node:{durable:True}}
> > > >
> > > > This can be used as the address for which you create a receiver in
> the
> > > > c++/python APIs, and as the configuration for the Destination object
> > for
> > > > which you create a MessageConsumer in JMS.
> > > >
> > > > If you haven't already done so, I would suggest reading
> > > >
> http://qpid.apache.org/books/**0.18/Programming-In-Apache-**Qpid/html/
> > <
> > > http://qpid.apache.org/books/0.18/Programming-In-Apache-Qpid/html/
> >which
> > > has some more detail on the other capabilities of addressing.
> > > >
> > > >
> > > >
> > ------------------------------**------------------------------**---------
> > > > To unsubscribe, e-mail: [email protected].**org<
> > > [email protected]>
> > > > For additional commands, e-mail: [email protected]
> > > >
> > > >
> > >
> > >
> > > --
> > > Best Regards
> > > Sajith
> > >
> >
>
>
>
> --
> Best Regards
> Sajith
>

Reply via email to