How do you set the routing rule?
Using the spring or Java DSL ?

Please make sure the mock url is right.

Willem

Mick Knutson wrote:
Here is the unit test:

    *...@produce(uri = "seda:foo")
    protected ProducerTemplate producer;

    @EndpointInject(uri = "mock:result")
    protected MockEndpoint mock;

    *...@test
    public void testReceiveGameStateUpdateMessage() throws Exception {
        log.info("testReceiveGameStateUpdateMessage");

        // we expect Hello World received in our mock endpoint
        mock.expectedBodiesReceived("Hello World");

        // we use the producer template to send a message to the seda:start
endpoint
        producer.sendBody("seda:start", "Hello World");
        producer.sendBodyAndHeader("<table/>", "foo", "bar");

        // we consume the body from seda:start
        //String body = consumer.receiveBody("seda:start", String.class);
        String body = consumer.receiveBody("seda:start", String.class);

        assertEquals("Hello World", body);
        log.info("**************************");
        log.info("... the result is: " + body);

        // and then we send the body again to seda:foo so it will be routed
to the mock
        // endpoint so our unit test can complete
        producer.sendBody("seda:foo", body);

        // assert mock received the body
        mock.assertIsSatisfied();
     }*

The assertEquals passes, but mock.assert fails.

I use

    *...@endpointinject(name = "result")
    private MockEndpoint mock;*

but got this error:

*java.lang.IllegalArgumentException: registry entry called result of type
org.apache.camel.Endpoint must be specified
*


Not sure why. I was trying to follow the example. But this seems to work
from the consumer standpoint, just not the Mock part.




---
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 2, 2009 at 8:57 PM, Willem Jiang <willem.ji...@gmail.com> wrote:

Can you show me the unit test code?
It should be easy to find a way to resolve this issue


Willem


Mick Knutson wrote:

That appeared to work for creating the consumerTemplate and allowing me to
Autowire it.

But I am not able to get the mock to validate then. Maybe something simple
now:

*Tests run: 3, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 20.122
sec
<<< FAILURE!

testReceiveGameStateUpdateMessage(com.wiredducks.service.test.TableServiceTest)
Time elapsed: 20.019 sec  <<< FAILURE!
java.lang.AssertionError: mock://result Received message count. Expected:
<1> but was: <0>
*

This is my Mock:
   @EndpointInject(uri = "mock:result")
   protected MockEndpoint mock;


This is all I see from the logs:

*5371 [main] INFO  org.apache.camel.component.mock.MockEndpoint  -
Asserting: Endpoint[mock://result] is satisfied
*


But this is good progress I think.


---
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 2, 2009 at 8:09 PM, Willem Jiang <willem.ji...@gmail.com>
wrote:

 Hi,
I just found this is a bug of Camel.  I'm working on the quick fix
now[1].
Here is a way that you can walk around this issue, by putting the
consumerTemplate definition inside the camel context.


   <camel:camelContext id="camel">
       <camel:consumerTemplate id="consumer"/>
   </camel:camelContext>
   <camel:template id="producer"/>


[1] https://issues.apache.org/activemq/browse/CAMEL-1870


Willem

Mick Knutson wrote:

 I am using 2.0-M3
Should be trying the trunk instead?

---
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 2, 2009 at 7:43 PM, Willem Jiang <willem.ji...@gmail.com>
wrote:

 Which version of Camel are you using ?

I just checked current Camel 2.0 trunk code, the <camel:consumer> tag
should work. Can you try to use the recent released Camel 2.0 M3 ?

Willem


Mick Knutson wrote:

 I am trying to follow:

http://camel.apache.org/polling-consumer.html

Now in my camel-client.xml I defined:
*<beans xmlns="http://www.springframework.org/schema/beans"*
*       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"*
*       xmlns:camel="http://camel.apache.org/schema/spring"*
*       xsi:schemaLocation="*
*        http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd*
*        http://camel.apache.org/schema/spring
http://camel.apache.org/schema/spring/camel-spring.xsd";>*


*    <!-- START SNIPPET: e2 -->*
*    <camel:camelContext id="camel"/>*
*    <camel:template id="producer"/>*
*   <camel:consumerTemplate id="consumer"/> *

But I keep getting:

*The matching wildcard is strict, but no declaration can be found for
element 'camel:consumerTemplate'.*

Then I changed it to:
*<camel:consumer id="consumer"/> *
**
**
But still get*
*
*Caused by:


org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
Configuration problem: Cannot locate BeanDefinitionParser for element
[consumer]*
*Offending resource: class path resource [camel-client.xml]*




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






Reply via email to