Thanks Clause, I did that, and here is what I see for my client 1 mock:

[thread 3: seda://resultClient1] TraceInterceptor               INFO
ID-mick-knutsons-macbook-local-58874-1251032417363-0-22 >>> *
from(seda://resultClient1)* --> com.wiredducks.routes.test.ClientRoutes$*
clientrouteaudit...@2d2f6d60, Pattern:InOnly, BodyType:String, Body:Someone
called us with this number ActiveMQMapMessage {commandId = 5,
responseRequired = true, messageId =
ID:mick-knutsons-macbook.local-54963-1251028089270-2:11:1:1:1,
originalDestination = null, originalTransactionId = null, producerId =
ID:mick-knutsons-macbook.local-54963-1251028089270-2:11:1:1, destination =
topic://VirtualTopic.Table.1, transactionId = null, expiration = 0,
timestamp = 1251032420921, arrival = 0, brokerInTime = 1251032420922,
brokerOutTime = 1251032420933, correlationId = null, replyTo = null,
persistent = true, type = null, priority = 4, groupID = null, groupSequence
= 0, targetConsumerId = null, compressed = false, userID = null, content =
org.apache.activemq.util.byteseque...@5a6ed23a, marshalledProperties =
org.apache.activemq.util.byteseque...@21ac0c38, dataStructure = null,
redeliveryCounter = 0, size = 0, properties = {tableId=1},
readOnlyProperties = true, readOnlyBody = true, droppable = false}
ActiveMQMapMessage{ theTable = {} }

With that, I added an audit processor to ensure I was able to see the
message getting to the seda://resultClient1 queue.

So in this same run, a bit further down the stack, I see this:


[thread 3: seda://resultClient1] TraceInterceptor               INFO
ID-mick-knutsons-macbook-local-58874-1251032417363-0-22
>>>*from(seda://resultClient1) -->
*com.wiredducks.routes.test.clientroutes$clientrouteaudi...@2d2f6d60,
Pattern:InOnly, BodyType:String, Body:Someone called us with this number
ActiveMQMapMessage {commandId = 5, responseRequired = true, messageId =
ID:mick-knutsons-macbook.local-54963-1251028089270-2:11:1:1:1,
originalDestination = null, originalTransactionId = null, producerId =
ID:mick-knutsons-macbook.local-54963-1251028089270-2:11:1:1, destination =
topic://VirtualTopic.Table.1, transactionId = null, expiration = 0,
timestamp = 1251032420921, arrival = 0, brokerInTime = 1251032420922,
brokerOutTime = 1251032420933, correlationId = null, replyTo = null,
persistent = true, type = null, priority = 4, groupID = null, groupSequence
= 0, targetConsumerId = null, compressed = false, userID = null, content =
org.apache.activemq.util.byteseque...@5a6ed23a, marshalledProperties =
org.apache.activemq.util.byteseque...@21ac0c38, dataStructure = null,
redeliveryCounter = 0, size = 0, properties = {tableId=1},
readOnlyProperties = true, readOnlyBody = true, droppable = false}
ActiveMQMapMessage{ theTable = {} }
*[thread 3: seda://resultClient1] ClientRoutes                   INFO  //---
start ClientRouteAuditor ---//*
[thread 3: seda://resultClient1] ClientRoutes                   INFO
tableId null
[thread 3: seda://resultClient1] ClientRoutes                   INFO
Someone called us with this number ActiveMQMapMessage {commandId = 5,
responseRequired = true, messageId =
ID:mick-knutsons-macbook.local-54963-1251028089270-2:11:1:1:1,
originalDestination = null, originalTransactionId = null, producerId =
ID:mick-knutsons-macbook.local-54963-1251028089270-2:11:1:1, destination =
topic://VirtualTopic.Table.1, transactionId = null, expiration = 0,
timestamp = 1251032420921, arrival = 0, brokerInTime = 1251032420922,
brokerOutTime = 1251032420933, correlationId = null, replyTo = null,
persistent = true, type = null, priority = 4, groupID = null, groupSequence
= 0, targetConsumerId = null, compressed = false, userID = null, content =
org.apache.activemq.util.byteseque...@5a6ed23a, marshalledProperties =
org.apache.activemq.util.byteseque...@21ac0c38, dataStructure = null,
redeliveryCounter = 0, size = 0, properties = {tableId=1},
readOnlyProperties = true, readOnlyBody = true, droppable = false}
ActiveMQMapMessage{ theTable = {} }
[thread 3: seda://resultClient1] ClientRoutes                   INFO  //---
end ClientRouteAuditor ---//

[thread 3: seda://resultClient1] TraceInterceptor               INFO
ID-mick-knutsons-macbook-local-58874-1251032417363-0-22 >>>
com.wiredducks.routes.test.clientroutes$clientrouteaudi...@2d2f6d60 --> *
mock://resultAllClients,* Pattern:InOnly, BodyType:String, Body:Someone
called us with this number ActiveMQMapMessage {commandId = 5,
responseRequired = true, messageId =
ID:mick-knutsons-macbook.local-54963-1251028089270-2:11:1:1:1,
originalDestination = null, originalTransactionId = null, producerId =
ID:mick-knutsons-macbook.local-54963-1251028089270-2:11:1:1, destination =
topic://VirtualTopic.Table.1, transactionId = null, expiration = 0,
timestamp = 1251032420921, arrival = 0, brokerInTime = 1251032420922,
brokerOutTime = 1251032420933, correlationId = null, replyTo = null,
persistent = true, type = null, priority = 4, groupID = null, groupSequence
= 0, targetConsumerId = null, compressed = false, userID = null, content =
org.apache.activemq.util.byteseque...@5a6ed23a, marshalledProperties =
org.apache.activemq.util.byteseque...@21ac0c38, dataStructure = null,
redeliveryCounter = 0, size = 0, properties = {tableId=1},
readOnlyProperties = true, readOnlyBody = true, droppable = false}
ActiveMQMapMessage{ theTable = {} }


No what puzzles me as I look through this, I do not see mock://resultClient1
anywhere.

So I took out the wiretap and sued this route:
        from("seda://resultClient1")
            .process(new ClientRouteAuditor())
                    .to("mock://resultClient1");


Then I see the mock:

thread 3: seda://resultClient1] TraceInterceptor               INFO
ID-mick-knutsons-macbook-local-59515-1251033193324-0-25 >>>
com.wiredducks.routes.test.clientroutes$clientrouteaudi...@266883cb
-->*mock://resultClient1
*, Pattern:InOnly, BodyType:String, Body:Someone called us with this number
ActiveMQMapMessage {commandId = 5, responseRequired = true, messageId =
ID:mick-knutsons-macbook.local-54963-1251028089270-2:12:1:1:1,
originalDestination = null, originalTransactionId = null, producerId =
ID:mick-knutsons-macbook.local-54963-1251028089270-2:12:1:1, destination =
topic://VirtualTopic.Table.1, transactionId = null, expiration = 0,
timestamp = 1251033197564, arrival = 0, brokerInTime = 1251033197564,
brokerOutTime = 1251033197566, correlationId = null, replyTo = null,
persistent = true, type = null, priority = 4, groupID = null, groupSequence
= 0, targetConsumerId = null, compressed = false, userID = null, content =
org.apache.activemq.util.byteseque...@385eb0bb, marshalledProperties =
org.apache.activemq.util.byteseque...@50a4e1e6, dataStructure = null,
redeliveryCounter = 0, size = 0, properties = {tableId=1},
readOnlyProperties = true, readOnlyBody = true, droppable = false}
ActiveMQMapMessage{ theTable = {} }


But still get:

java.lang.AssertionError: *mock://resultClient1* Received message count.
Expected: <1> but was: <0>


---
Thank You…

Mick Knutson, President

BASE Logic, Inc.
Enterprise Architecture, Design, Mentoring & Agile Consulting
p. (866) BLiNC-411: (254-6241-1)
f. (415) 685-4233

Website: http://baselogic.com
Linked IN: http://linkedin.com/in/mickknutson
Vacation Rental: http://tahoe.baselogic.com
---



On Sun, Aug 23, 2009 at 5:37 AM, Claus Ibsen <claus.ib...@gmail.com> wrote:

> On Sun, Aug 23, 2009 at 2:18 PM, Mick Knutson<mknut...@baselogic.com>
> wrote:
> > I have tried everything I can at least 20 times. I really appreciate the
> > help on this one as there is no pattern for me to follow to solve this.
> > Sometimes it works, and sometimes it doesn't.
> >
> > I also tried this in the route (none successful):
> >
> >
> >
> from("activemq:Consumer.1.VirtualTopic.Table.1").wireTap("mock://resultAllClients").to("mock:resultClient1");
> >
> >        from("seda:resultClient1").to("mock:resultClient1");
> >
> >        from("seda:resultClient2").to("mock:resultClient2");
> >
> >
> > Is there any advise anyone can give me to understand a better way to
> DEBUG
> > through the routes and messages?
> >
>
> Use the tracer
> http://camel.apache.org/tracer
>
> > ---
> > Thank You…
> >
> > Mick Knutson, President
> >
> > BASE Logic, Inc.
> > Enterprise Architecture, Design, Mentoring & Agile Consulting
> > p. (866) BLiNC-411: (254-6241-1)
> > f. (415) 685-4233
> >
> > Website: http://baselogic.com
> > Linked IN: http://linkedin.com/in/mickknutson
> > Vacation Rental: http://tahoe.baselogic.com
> > ---
> >
> >
> >
> > On Sun, Aug 23, 2009 at 5:09 AM, Mick Knutson <mknut...@baselogic.com
> >wrote:
> >
> >> Here is the 1 Route file I have:
> >>
> >>     @Override
> >>     public void configure() throws Exception {
> >>         log.info("//@@@@@ CLIENT ROUTES
> >> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@//");
> >>
> >>
> >>
> //from("activemq:Consumer.1.VirtualTopic.Table.1").wireTap("mock://resultAllClients").to("mock:resultClient1");
> >>
> >>
> >>
> from("seda:resultClient1").wireTap("mock://resultAllClients").to("mock:resultClient1");
> >>
> >>
> from("seda:resultClient2").wireTap("mock://resultAllClients").to("mock:resultClient2");
> >>
> >>
> from("seda:resultClient3").wireTap("mock://resultAllClients").to("mock:resultClient3");
> >>
> >>
> from("seda:resultClient4").wireTap("mock://resultAllClients").to("mock:resultClient4");
> >>
> >>
> from("seda:resultClient5").wireTap("mock://resultAllClients").to("mock:resultClient5");
> >>
> >>
> from("seda:resultClient6").wireTap("mock://resultAllClients").to("mock:resultClient6");
> >>
> >>
> from("seda:resultClient7").wireTap("mock://resultAllClients").to("mock:resultClient7");
> >>
> >>
> from("seda:resultClient8").wireTap("mock://resultAllClients").to("mock:resultClient8");
> >>
> >>
> from("seda:resultClient9").wireTap("mock://resultAllClients").to("mock:resultClient9");
> >>
> >>
> from("seda:resultClient10").wireTap("mock://resultAllClients").to("mock:resultClient10");
> >>
> >>
> from("seda:resultClient11").wireTap("mock://resultAllClients").to("mock:resultClient11");
> >>
> >>     } // end configure
> >>
> >>
> >> ---
> >> Thank You…
> >>
> >> Mick Knutson, President
> >>
> >> BASE Logic, Inc.
> >> Enterprise Architecture, Design, Mentoring & Agile Consulting
> >> p. (866) BLiNC-411: (254-6241-1)
> >> f. (415) 685-4233
> >>
> >> Website: http://baselogic.com
> >> Linked IN: http://linkedin.com/in/mickknutson
> >> Vacation Rental: http://tahoe.baselogic.com
> >> ---
> >>
> >>
> >>
> >> On Sun, Aug 23, 2009 at 3:14 AM, Willem Jiang <willem.ji...@gmail.com
> >wrote:
> >>
> >>> Hi Mick,
> >>>
> >>> Can you show me the route rule ?
> >>> It will help us to trace the issue :)
> >>>
> >>> Willem
> >>>
> >>>
> >>> Mick Knutson wrote:
> >>>
> >>>> I have a unit test that has a wiretap that routes the message to a
> mock
> >>>> endpoint.
> >>>> Here is what works:
> >>>>
> >>>>    @EndpointInject(uri = "mock:resultAllClients")
> >>>>    protected MockEndpoint resultAllClients;
> >>>>
> >>>>    @EndpointInject(uri = "mock:resultClient1")
> >>>>    protected MockEndpoint resultClient1;
> >>>>    @EndpointInject(uri = "mock:resultClient2")
> >>>>    protected MockEndpoint resultClient2;
> >>>>    @EndpointInject(uri = "mock:resultClient3")
> >>>>    protected MockEndpoint resultClient3;
> >>>>    @EndpointInject(uri = "mock:resultClient4")
> >>>>    protected MockEndpoint resultClient4;
> >>>>
> >>>>    @Test
> >>>>    public void testSendBetMessage() throws Exception {
> >>>>        log.info("Send a test message to Table Service");
> >>>>
> >>>>        //resultAllClients.expectedMinimumMessageCount(3);
> >>>>        resultClient1.expectedMessageCount(1);
> >>>>        resultClient2.expectedMessageCount(1);
> >>>>        //resultClient3.expectedMessageCount(1);
> >>>>        //resultClient4.expectedMessageCount(1);
> >>>>
> >>>>
> >>>>        // Send the test message to make Server Service create our
> Status
> >>>> Message
> >>>>        producerTemplate.sendBody("jms:queue:bets",
> >>>>                ExchangePattern.InOnly, 22);
> >>>>
> >>>>        // now lets assert that the mock endpoint received messages
> >>>>        resultClient1.assertIsSatisfied();
> >>>>        resultClient2.assertIsSatisfied();
> >>>>        //resultClient3.assertIsSatisfied();
> >>>>        //resultClient4.assertIsSatisfied();
> >>>>
> >>>>        //resultAllClients.assertIsSatisfied();
> >>>>        log.info("XXXXXXXXXX DONE
> >>>> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
> >>>>
> >>>>    }
> >>>>
> >>>>    /*...@after
> >>>>    public void finalizeTests() {
> >>>>        // resultAllClients.reset();
> >>>>        resultClient1.reset();
> >>>>        resultClient2.reset();
> >>>>        resultClient3.reset();
> >>>>        // resultClient4.reset();
> >>>>    }*/
> >>>>
> >>>>
> >>>>
> >>>> This is in 1 unit test class and the way it is above has all
> assertions
> >>>> pass.
> >>>> If any of the following things change, I get:
> >>>>
> >>>> java.lang.AssertionError: mock://resultClient1 Received message count.
> >>>> Expected: <1> but was: <0>
> >>>>
> >>>>
> >>>> 1. If I uncomment the finalizeTests() method, the error starts.
> >>>>
> >>>> 2. If I uncomment resultClient3, resultClient4 it might start working,
> >>>> then
> >>>> randomly it will show up again and I have to comment them out in order
> >>>> for
> >>>> the test to pass again.
> >>>>
> >>>>
> >>>> Is there some bug/defect in the Mock that I have not googled?
> >>>>
> >>>>
> >>>>
> >>>> ---
> >>>> Thank You…
> >>>>
> >>>> Mick Knutson, President
> >>>>
> >>>> BASE Logic, Inc.
> >>>> Enterprise Architecture, Design, Mentoring & Agile Consulting
> >>>> p. (866) BLiNC-411: (254-6241-1)
> >>>> f. (415) 685-4233
> >>>>
> >>>> Website: http://baselogic.com
> >>>> Linked IN: http://linkedin.com/in/mickknutson
> >>>> Vacation Rental: http://tahoe.baselogic.com
> >>>> ---
> >>>>
> >>>>
> >>>
> >>
> >
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>

Reply via email to