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?


>
> >
> > 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