Hi,
I tried making the queue persistent, I created using node:{durable: True}}
option, it gets created, and I could seen in Management console as well
that the queue (sajith_queue_test)
is durable, and other two default queues are not durable. (refer the
attached screen shot)
And when I restart the broker I could only see the default two queues,
"ping" and "queue", even though those are durable-false, and my newly
created durable queue is gone.. ?
I saw, Qpid java broker has enabled persistence via Derby DB. Do I have to
enable Derby DB related settings?
On Wed, Sep 5, 2012 at 2:50 PM, Sajith Kariyawasam <[email protected]> wrote:
> On Wed, Sep 5, 2012 at 2:48 PM, Rob Godfrey <[email protected]>wrote:
>
>> 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
>>
>>
> Cool..! :)
>
> Thanks,
> Sajith
>
>
>>
>> > >
>> > > >
>> > > > 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
>> >
>>
>
>
>
> --
> Best Regards
> Sajith
>
>
--
Best Regards
Sajith
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]