On Fri, Dec 17, 2010 at 7:20 PM, Johan Edstrom <seij...@gmail.com> wrote:
> Claus,
>
> Yes, beer is on me.
> The explanation makes sense but I'll ping you on usage of the model.
>

Btw I wrote this mail in a good spirit, using a bit of scandinavian
humor. Don't take this wrong - Its just for a smile.

> I made the change after hunting an NPE when upgrading code from an
> older Camel release.
>

Ah nice maybe you can can provide more details and we can either add a
note in a release note or get the NPE fixed it ifs a valid bug.


>
>
> On Dec 17, 2010, at 11:15 AM, Claus Ibsen wrote:
>
>> That you commit something which you shouldn't have done.
>>
>> Today it was Johan's Ed. first time he did that. Welcome to the club.
>> I am the president, I must have committed the most bad commits to
>> Camel :)
>>
>> Your little change in the route model (FromDefinition) really got me
>> puzzled today.
>> http://svn.apache.org/viewvc?rev=1050112&view=rev
>>
>> I have been working on a bigger improvement and have changed files in
>> core, core-xml, spring. And suddenly I got unit test failures in
>> camel-spring.
>> I wondered why because the commits today have been simple and not in
>> that area. And the CI servers have been busy with other projects and
>> haven't got around testing the latest commits from trunk. So I
>> couldn't see the test failures there.
>>
>> Anyway I digged into it, and almost had me wished I have switched to
>> git, so I can do a stach. Yeah I will switch later. Writing a book
>> took all my time.
>> Then I remembered your commit. The problem is that the route model
>> must be stateless and agnostic, eg not tied to a runtime CamelContext.
>> You can use the route model to create runtime routes, and thus it can
>> act as a skeleton.
>>
>> So in your change you introduced state as it remembered the endpoint
>> you would lookup at runtime. But the problem is that you could have it
>> lookup endpoints from CamelContext A and then use the route model to
>> create a new runtime route in another camel context or whatever. Then
>> that endpoint is no looked up in CamelContext B, but it will just use
>> the existing it previous looked up from CamelContext A.
>>
>> For example using the routeContext in XML.
>> http://camel.apache.org/configuring-camel.html
>>
>> You may consider buying a beer when we meet. My wife got a bit cranky
>> because I was occupied digging into this issue,
>> than talking with her when she came home from work.
>>
>> Anyway welcome to the club.
>>
>> I actually wrote this as a reminder to us all about the route model
>> must be stateless. The mistake here could be done by any of us, so
>> there are no hard feelings. Just that it took me for a little ride,
>> which doesn't happend that often anymore with Camel. (Well except
>> crappy and mysterious issues with osgi, but that's another story for
>> all of us).
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> FuseSource
>> Email: cib...@fusesource.com
>> Web: http://fusesource.com
>> Twitter: davsclaus
>> Blog: http://davsclaus.blogspot.com/
>> Author of Camel in Action: http://www.manning.com/ibsen/
>
>



-- 
Claus Ibsen
-----------------
FuseSource
Email: cib...@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/

Reply via email to