Hi,
I just had a look at those tests under org.apache.qpid.headers, and when I
changed the binding as follows for the consumer and publisher in the
MessageFactory, the test are working-
FieldTable getConsumerBinding()
{
........
binding.setString("F0000", "value");
----------
}
FieldTable getControllerBinding()
{
...........
binding.setString("CONTROL", "value");
......
}
This is required for message headers to match the consumer binding. I don't
know what has changed, because as you said, these were working earlier.
I hope this helps.
Regards,
Bhupendra
On 2/21/07, Martin Ritchie <[EMAIL PROTECTED]> wrote:
I haven't done any work on the headers exchange. As far as I know
nothing has changed on the exchange. However there has been a lot of
changes since the rename and some may have an affect, Virtual Hosts
will be one. If you are only using the one connection then that won't
be the issue but if you are using multiple connections then the VHosts
will have to be the same. I may get some time later next week to have
a look. I just need to get Rollback/Recover working.
On 21/02/07, Kodichath, Suresh <[EMAIL PROTECTED]> wrote:
> Hi Martin,
> Thanks, but do you or others in the list see any issues with supporting
> this in Qpid. When we tried to run this we see that the messages are
> reaching the broker, but are not getting routed to the client side.
> Also this was working earlier. Has anything changed recently that might
> be causing this?.
>
> Regards,
> Suresh
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Martin Ritchie
> Sent: Wednesday, February 21, 2007 5:26 AM
> To: [email protected]
> Subject: Re: question on QPID header-based routing test
>
> On 20/02/07, Das, Kapali Tejeswar <[EMAIL PROTECTED]> wrote:
> > There was a QPID headers test in
> > java/client/test/src/org/apache/qpid/headers directory that was later
> > moved to java/client/src/old_test/java/org/apache/qpid/headers
> > directory. Could somebody let me know why it was moved to old_test
> > directory?
> >
> >
> >
> > The reason I am asking is that we wrote a headers demo based on this
> > test that used to work back in December. But it no longer works now;
> the
> > broker does not route the messages to the consumer.
> >
> >
> >
> > Specifically, when I start the consumer (with debug logs), I am seeing
> > the following log, which indicates that there was a problem while
> > processing BasicConsumeOk message.
> >
> >
> >
> > /////////////////////////
> >
> > [java] 2007-02-20 16:07:33,062 DEBUG [AnonymousIoService-8]
> > state.AMQStateManager (AMQStateManager.java:172) - Looking for state
> > transition handler for frame class
> > org.apache.qpid.framing.BasicConsumeOkBody
> >
> > [java] 2007-02-20 16:07:33,078 DEBUG [AnonymousIoService-8]
> > state.AMQStateManager (AMQStateManager.java:172) - Looking for state
> > transition handler for frame class
> > org.apache.qpid.framing.BasicConsumeOkBody
> >
> > [java] 2007-02-20 16:07:33,078 DEBUG [AnonymousIoService-8]
> > state.AMQStateManager (AMQStateManager.java:187) - No state transition
> > handler defined for receiving frame class
> > org.apache.qpid.framing.BasicConsumeOkBody Class: 60 Method: 21
> > consumerTag: 1
> >
> > [java] 2007-02-20 16:07:33,078 DEBUG [main]
> client.BasicMessageConsumer
> > (BasicMessageConsumer.java:227) - Session stopped : Message
> > listener([EMAIL PROTECTED]) set for destination
> >
> headers://test_headers_exchange/test_headers_exchange/?exclusive='true'&
> > autodelete='true'
> >
> > /////////////////////////
> >
> >
> >
> > Here's a snippet of the code where I am creating a consumer:
> >
> >
> >
> > //////////////////////////////////
> >
> >
> >
> > public MessageConsumer createConsumer(Destination source) throws
> > Exception
> >
> > {
> >
> >
> >
> > FieldTable binding = FieldTableFactory.newFieldTable();
> >
> > binding.setString("SF1000", "value");
> >
> >
> >
> > return _session.createConsumer(
> >
> > source,
> >
> > AMQSession.DEFAULT_PREFETCH_HIGH_MARK,
> >
> > AMQSession.DEFAULT_PREFETCH_LOW_MARK,
> >
> > false,
> >
> > true,
> >
> > null,
> >
> > binding
> >
> > );
> >
> > }
> >
> >
> >
> > //////////////////////////////////
> >
> >
> >
> > I am wondering if the AMQP APIs that define a binding between an
> > exchange and a consumer have changed.
> >
> >
> >
> > Any feedback is much appreciated.
> >
> >
> >
> > Thanks and regards
> >
> > Tejeswar
>
> IIRC correctly it was Steve Vinoski that re-organised the test code
> but no further work on reorganising the tests has been done. Only two
> JIRAs (110,114) were created requesting more testing but nothing about
> restructuring the client tests. If you search the qpid dev archives
> for "reorganization" you should find three threads with more details.
>
> --
> Martin Ritchie
>
--
Martin Ritchie