Thanks a lot for your detailed answers. After reading the documents of
Camel, the materials were not enough for me to grab the whole picture.  I
have to read some of the source code.

I  found out in DefaultEndpoint class:
    public int hashCode() {
        return endpointUri.hashCode() * 37 + 1;
    }

What is this supposed to mean?

I also felt this mail list seemed not very active. Camel is NOT popular?

On 8/3/07, James Strachan <[EMAIL PROTECTED]> wrote:
>
> On 8/3/07, mat wang <[EMAIL PROTECTED]> wrote:
> > Why A Producer extends Processor but A Consumer NOT?
>
> Great question :)
>
> So when you create a producer, you just want to pass message exchanges
> into it - so you can treat a producer just like any kind of Processor
> object and just call process().
>
> When you create a consumer though, the consumer by default is an event
> driven consumer
> http://activemq.apache.org/camel/event-driven-consumer.html
>
> this means that the endpoint decides how and when to invoke your code
> when a message is received - typically in a background thread
> asynchronously. So for a consumer, you provide your own Processor to
> handle the messages and pass that into the createConsumer method
>
> http://activemq.apache.org/camel/maven/camel-core/apidocs/org/apache/camel/Endpoint.html#createProducer()
>
> The returned Consumer object is then mostly just to be able to stop it
> when you are done (rather like the JMS MessageConsumer interface).
>
> Finally you could also create a Polling Consumer where you pull
> message exchanges out of the PollingConsumer interface
> http://activemq.apache.org/camel/polling-consumer.html
>
>
> > What is a
> > Processor.process method (a place for implement own business logic?)
> Thanks.
>
> Yes, a Processor.process() typically processes a message exchange in
> some way - this could involve sending it over some protocol (such as
> the Producer implementations) or it could involve doing some routing,
> or invoking business logic.
>
> Incidentally to invoke business logic, I'd recommend loosly coupling
> your business logic to Camel message exchanges. e.g.
>
> http://activemq.apache.org/camel/bean-integration.html
>
> that way your business logic doesn't have to implement any Camel
> specific APIs; though it may use some annotations to help describe the
> binding.
>
> --
> James
> -------
> http://macstrac.blogspot.com/
>

Reply via email to