Happily there was no need for the crowd to dip into the tar and feathers buckets
We had a crowd of 15 people, and despite us having some bumps in the road, I got a very nice comment about the quality of the examples and there was also some keen interest from people that are already using Camel.
Our biggest issue was that we couldn’t deploy routes in the container if Java 6 was running
At the end of the tutorial, one of the attendees came up and said that this was probably because of a clash with JAXB. Basically the ServiceMix 4 container had a JAXB bundle deployed in it for use with Java 5, but since Java 6 has JAXB built-in, there could have been some horrible clash going on. The workaround is to spot the JAXB plugins in the container and osgi uninstall them to remove them from the bundle cache, then restart.
Andrea (STP-IM committer) couldn’t get the EID to start up with the Ganymede distribution on the stick. Everything seemed to be in place, with no errors, but none of the EID contributions were active. There’s a bug223024 for this.
There was a couple of other bumps too - sometimes you could get two camelContext.xml synthesized bundles, and they seemed to upset each other. Simple workaround - just osgi uninstall both the offenders. I was really glad of the ServiceMix 4 kernel console!
I got some questions about capabilities: why is the graph bound to an ESB? Couldn’t each component be bound to different ESBs? How about sub-graphs? Wouldn’t it be useful to be able to see a component and when you drill into it, it’s actually another graph of finer-grained EIPs?
Some good questions there - I think the sub-graph idea is good, especially if you want to have reusable EIPs that you have created within your own organization. As was pointed out to me, you could have the graphs bound to ESBs if you had the sub-graphing concept and still have the flexibility to have an overall integration that covers different runtimes. I think covering multiple runtimes simultaneously is something that is just unavoidable in the real world.
Another thing : the Apache Camel ‘DSL’ - which allows the construction of routes using plain old Java - is the foremost way of making routes right now. If we could generate these Java fluent builders from the patterns diagrams, it would be a great starting point for developers.
All of the examples, code, etc, will be put up on the website at some point for download. Because we only got up to three little green patterns (LGPs?), and Gregor and Bobby’s book has 65 of them, a series of examples for each new pattern that we support would be the way to go. So maybe we’ll have a long-running series on our hands