I now get the following exception: java.lang.TypeNotPresentException: Type org.apache.camel.component.file.strategy.GenericFileProcessStrategyFactory class not found not present at org.apache.camel.component.file.GenericFileEndpoint.createGenericFileStrategy(GenericFileEndpoint.java:145) at org.apache.camel.component.file.GenericFileEndpoint.getGenericFileProcessStrategy(GenericFileEndpoint.java:118) at org.apache.camel.component.file.GenericFileConsumer.doStart(GenericFileConsumer.java:397) at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:56) at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:53) at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1015) ...
This is incredibly strange to me. It seems like the caller (line 145 in class GenericFileEndpoint) cannot find the class GenericFileProcessStrategyFactory. They both reside in camel-core so there can be no problem in finding the class. However it is not exactly trying to find it but to "resolve" it. The following call throws the exception: factory = this.getCamelContext().getClassResolver().resolveClass(DEFAULT_STRATEGYFACTORY_CLASS); Any ideas? /Bengt 2010/6/10 Bengt Rodehav <be...@rodehav.com> > Willem, > > I'm just now building a new trunk version of Camel and need to verify with > you that I'm using Camel properly in an OSGi environment: > > - I only install the features "camel" (includes camel-core and camel-spring > bundles) + camel-ftp (that I wish to test) > Do I need camel-spring if I'm not using Spring directly? I create all my > routes in Java DSL. > > - I noticed that there is a component called camel-core-osgi. Should I use > it in any way? How? > > Just out of curiosity. What was the typo you mentioned? > > /Bengt > > > 2010/6/10 Willem Jiang <willem.ji...@gmail.com> > >> Hi Bengt, >> >> It's a typo, I just fixed it with an OSGi unit test. >> Please check out the last camel trunk code to keep on riding with Camel :) >> >> >> Willem >> >> Bengt Rodehav wrote: >> >>> Thanks Willem - what a relief... >>> >>> I eagerly await the results from your digging, >>> >>> /Bengt >>> >>> 2010/6/10 Willem Jiang <willem.ji...@gmail.com> >>> >>> I can reproduce the error that you met, there must be something wrong >>>> with >>>> current OSGi refactoring, >>>> I will keep digging to see if I can fix this issue soon. >>>> >>>> Willem >>>> >>>> >>>> Bengt Rodehav wrote: >>>> >>>> Thanks for your reply Willem, >>>>> >>>>> I've tried various combinations of camel features. Right now I use the >>>>> "camel" feature (plus camel-ftp since that's what I'm trying to test). >>>>> In >>>>> runtime I can see the camel-core, camel-spring and the camel-ftp >>>>> bundles >>>>> installed and active. I manage to create an OsgiDefaultCamelContext the >>>>> following way: >>>>> >>>>> mCamelContextFactory = new CamelContextFactory(); >>>>> mCamelContextFactory.setBundleContext(theBundleContext); >>>>> mCamelContext = mCamelContextFactory.createContext(); >>>>> >>>>> However, when I try to start the camel context I get the exception I >>>>> mentioned above: >>>>> >>>>> Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to >>>>> resolve endpoint: >>>>> >>>>> file://data/connect/test/sample/file2ftps?delay=1000&move=archive%2F%24% >>>>> >>>>> >>>>> 7Bdate%3Anow%3AyyyyMMdd%7D%2F%24%7Bfile%3Aname%7D&moveFailed=failed%2F%24%7Bfile%3Aname.noext%7D-%24%7Bdate%3Anow%3AyyyyMMddHHmmssSSS%7D.%24%7Bfile%3Aext%7D >>>>> due to: No language could be found for: file >>>>> at >>>>> >>>>> >>>>> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:377) >>>>> >>>>> To me it sounds like the languages has not been registered properly. >>>>> Looking >>>>> through the code it looks like the OSGi "registration" part of camel >>>>> has >>>>> moved from camel-osgi to camel-core. Which I guess means that I should >>>>> not >>>>> be using camel-osgi anymore (just camel-core in combination with >>>>> camel-spring). This is what I'm doing, but I still get the above >>>>> exception. >>>>> >>>>> Could it be a problem with iPojo? I use iPOJO to create my OSGi >>>>> services >>>>> from configurations handled by file install. I noticed that the >>>>> BundleContext I'm using is really an instance >>>>> of org.apache.felix.ipojo.IPojoContext. >>>>> >>>>> Any clues? >>>>> >>>>> /Bengt >>>>> >>>>> >>>>> >>>>> 2010/6/10 Willem Jiang <willem.ji...@gmail.com> >>>>> >>>>> Hi Bengt, >>>>> >>>>>> Did you use the apache camel feature of the Camel 2.4-SNAPSHOT ? >>>>>> If so, you just need to install the feature of camel, it includes the >>>>>> camel-core feature and camel-spring feature. >>>>>> >>>>>> And you can still use org.apache.camel.osgi.CamelContextFactory to >>>>>> create >>>>>> the camel context :) >>>>>> >>>>>> Willem >>>>>> >>>>>> >>>>>> Bengt Rodehav wrote: >>>>>> >>>>>> Claus, >>>>>> >>>>>>> I have now managed to build Camel version 2.4-SNAPSHOT. However, I >>>>>>> can't >>>>>>> get >>>>>>> my application to work on that version. I'm using Karaf 1.6.0 for >>>>>>> deployment >>>>>>> and something has definitely changed in Camel regarding OSGi. I >>>>>>> haven't >>>>>>> figured out how to use Camel 2.4-SNAPSHOT in Karaf yet. Maybe you (or >>>>>>> someone else reading this) can help out? >>>>>>> >>>>>>> When using Camel 2.3, I create my camel context using >>>>>>> the org.apache.camel.osgi.CamelContextFactory class. In runtime, this >>>>>>> class >>>>>>> is imported from the camel-spring-osgi bundle. The activator for this >>>>>>> bundle >>>>>>> (org.apache.camel.osgi.Activator) seems to reside in the camel-osgi >>>>>>> bundle >>>>>>> but that bundle also seems to be embedded in camel-spring-osgi. Have >>>>>>> to >>>>>>> admit that this solution is far from pretty but it seems to work. The >>>>>>> activator keeps track of installed bundles and their camel resources >>>>>>> (such >>>>>>> as components and languages). >>>>>>> >>>>>>> When I switch to Camel 2.4-SNAPSHOT I get the following exception: >>>>>>> >>>>>>> ... >>>>>>> Caused by: org.apache.camel.ResolveEndpointFailedException: Failed to >>>>>>> resolve en >>>>>>> dpoint: >>>>>>> >>>>>>> file://data/connect/sample/file2ftps?delay=1000&move=archive%2F%24%7Bdat >>>>>>> >>>>>>> >>>>>>> >>>>>>> e%3Anow%3AyyyyMMdd%7D%2F%24%7Bfile%3Aname%7D&moveFailed=failed%2F%24%7Bfile%3Ana >>>>>>> >>>>>>> me.noext%7D-%24%7Bdate%3Anow%3AyyyyMMddHHmmssSSS%7D.%24%7Bfile%3Aext%7D >>>>>>> due >>>>>>> to: >>>>>>> No language could be found for: file >>>>>>> at >>>>>>> org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelCon >>>>>>> text.java:377) >>>>>>> ... >>>>>>> >>>>>>> It seems like Camel cannot find the "file" language (which is >>>>>>> supposed >>>>>>> to >>>>>>> be >>>>>>> mapped to the org.apache.camel.language.simple.SimpleLanguage class). >>>>>>> I >>>>>>> then >>>>>>> tried to find the proper activator to find out why the language >>>>>>> doesn't >>>>>>> seem >>>>>>> to be registered. >>>>>>> >>>>>>> First, the camel-spring-osgi bundle does not seem to exist in camel >>>>>>> anymore. >>>>>>> Instead, the CamelContextFactory is now imported from the >>>>>>> camel-spring >>>>>>> bundle. camel-spring's activator (org.apache.camel.osgi.Activator) is >>>>>>> now >>>>>>> part of the camel-spring component but when I look at it I can't see >>>>>>> that >>>>>>> it >>>>>>> keeps track of anything but it's own BundleContext and Bundle >>>>>>> instance. >>>>>>> Then >>>>>>> who keeps track of the registered components, type converters, >>>>>>> languages >>>>>>> and >>>>>>> so forth? >>>>>>> >>>>>>> I must be missing something here. Can someone please explain to me >>>>>>> how >>>>>>> to >>>>>>> use Camel 2.4 in OSGi? I must say I've had a lot of problems with the >>>>>>> combination of camel and OSGi before as well but I was hoping for >>>>>>> Camel's >>>>>>> OSGi support to get better - right now I'm a bit disillusioned :-( >>>>>>> >>>>>>> I noticed that camel-osgi still exists in Camel 2.4 but it doesn't >>>>>>> look >>>>>>> like >>>>>>> a bundle anymore. Maybe there is a secret here that I haven't fully >>>>>>> understood. >>>>>>> >>>>>>> /Bengt >>>>>>> >>>>>>> >>>>>>> >>>>>>> 2010/6/7 Claus Ibsen <claus.ib...@gmail.com> >>>>>>> >>>>>>> On Mon, Jun 7, 2010 at 4:30 PM, Bengt Rodehav <be...@rodehav.com> >>>>>>> wrote: >>>>>>> >>>>>>> Claus, >>>>>>>> >>>>>>>>> I have now tested my version using both passive and active (which >>>>>>>>> >>>>>>>>> requires a >>>>>>>>> >>>>>>>> certificate) mode. I've tested against a free ftp server - >>>>>>>> Filezilla - >>>>>>>> >>>>>>>>> and a >>>>>>>>> >>>>>>>> commercial ftp server (that we often use) - Serv-u. It works fine. >>>>>>>> >>>>>>>>> I haven't tested your version yet because it requires me to build >>>>>>>>> my >>>>>>>>> application against Camel version 2.4-SNAPSHOT instead of Camel >>>>>>>>> version >>>>>>>>> 2.3.0. To get this to work I need to get all the 2-4-SNAPSHOT >>>>>>>>> artifacts >>>>>>>>> >>>>>>>>> into >>>>>>>>> >>>>>>>> my local Maven repository. I tried to do this by building Camel >>>>>>>> >>>>>>>>> locally >>>>>>>>> >>>>>>>>> but >>>>>>>>> >>>>>>>> I never seem to get it to build. Right now, I'm stuck with the >>>>>>>> >>>>>>>>> following >>>>>>>>> Maven error message (I'm usng Maven 2.0.11): >>>>>>>>> >>>>>>>>> You can just cd into camel-ftp and build that jar. And then you >>>>>>>>> grab >>>>>>>>> >>>>>>>>> the camel-core jar as well. >>>>>>>> And if you use spring then camel-spring .jar as well. Then you got >>>>>>>> what you need for 2.4-SNAPSHOTs. >>>>>>>> >>>>>>>> >>>>>>>> Yeah Maven can be strange. Sometimes you need to nuke you local m2 >>>>>>>> repo >>>>>>>> cache. >>>>>>>> And I use maven 2.0.9. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> [INFO] Writing OBR metadata >>>>>>>> >>>>>>>> [INFO] >>>>>>>>> >>>>>>>>> >>>>>>>>> ------------------------------------------------------------------------ >>>>>>>>> [INFO] Building Camel :: Jetty >>>>>>>>> [INFO] task-segment: [clean, install] >>>>>>>>> [INFO] >>>>>>>>> >>>>>>>>> >>>>>>>>> ------------------------------------------------------------------------ >>>>>>>>> [INFO] [clean:clean] >>>>>>>>> Downloading: >>>>>>>>> https://repository.apache.org/content/repositories/releases//com/su >>>>>>>>> n/mail/all/1.4.3/all-1.4.3.pom >>>>>>>>> [INFO] Unable to find resource 'com.sun.mail:all:pom:1.4.3' in >>>>>>>>> repository >>>>>>>>> apache >>>>>>>>> .releases ( >>>>>>>>> https://repository.apache.org/content/repositories/releases/ >>>>>>>>> ) >>>>>>>>> Downloading: >>>>>>>>> http://svn.apache.org/repos/asf/servicemix/m2-repo/com/sun/mail/all >>>>>>>>> /1.4.3/all-1.4.3.pom >>>>>>>>> [INFO] Unable to find resource 'com.sun.mail:all:pom:1.4.3' in >>>>>>>>> repository >>>>>>>>> servic >>>>>>>>> emix (http://svn.apache.org/repos/asf/servicemix/m2-repo) >>>>>>>>> Downloading: >>>>>>>>> http://jansi.fusesource.org/repo/release/com/sun/mail/all/1.4.3/all >>>>>>>>> -1.4.3.pom >>>>>>>>> [INFO] Unable to find resource 'com.sun.mail:all:pom:1.4.3' in >>>>>>>>> repository >>>>>>>>> jansi. >>>>>>>>> release.m2 (http://jansi.fusesource.org/repo/release) >>>>>>>>> Downloading: >>>>>>>>> http://repository.ops4j.org/maven2/com/sun/mail/all/1.4.3/all-1.4.3 >>>>>>>>> .pom >>>>>>>>> [INFO] Unable to find resource 'com.sun.mail:all:pom:1.4.3' in >>>>>>>>> repository >>>>>>>>> ops4j >>>>>>>>> (http://repository.ops4j.org/maven2) >>>>>>>>> Downloading: >>>>>>>>> http://repo1.maven.org/maven2/com/sun/mail/all/1.4.3/all-1.4.3.pom >>>>>>>>> [INFO] Unable to find resource 'com.sun.mail:all:pom:1.4.3' in >>>>>>>>> repository >>>>>>>>> centra >>>>>>>>> l (http://repo1.maven.org/maven2) >>>>>>>>> [INFO] >>>>>>>>> >>>>>>>>> >>>>>>>>> ------------------------------------------------------------------------ >>>>>>>>> [ERROR] BUILD ERROR >>>>>>>>> [INFO] >>>>>>>>> >>>>>>>>> >>>>>>>>> ------------------------------------------------------------------------ >>>>>>>>> [INFO] Error building POM (may not be this project's POM). >>>>>>>>> >>>>>>>>> >>>>>>>>> Project ID: javax.mail:mail:jar:null >>>>>>>>> >>>>>>>>> Reason: Cannot find parent: com.sun.mail:all for project: >>>>>>>>> javax.mail:mail:jar:nu >>>>>>>>> ll for project javax.mail:mail:jar:null >>>>>>>>> >>>>>>>>> >>>>>>>>> [INFO] >>>>>>>>> >>>>>>>>> >>>>>>>>> ------------------------------------------------------------------------ >>>>>>>>> [INFO] For more information, run Maven with the -e switch >>>>>>>>> [INFO] >>>>>>>>> >>>>>>>>> >>>>>>>>> ------------------------------------------------------------------------ >>>>>>>>> [INFO] Total time: 4 minutes 26 seconds >>>>>>>>> [INFO] Finished at: Mon Jun 07 12:59:05 CEST 2010 >>>>>>>>> [INFO] Final Memory: 231M/483M >>>>>>>>> [INFO] >>>>>>>>> >>>>>>>>> >>>>>>>>> ------------------------------------------------------------------------ >>>>>>>>> >>>>>>>>> >>>>>>>>> /Bengt >>>>>>>>> >>>>>>>>> 2010/6/5 Bengt Rodehav <be...@rodehav.com> >>>>>>>>> >>>>>>>>> God you're fast. I made my own attempts and attached diff files to >>>>>>>>> the >>>>>>>>> JIRA >>>>>>>>> issue you created. I also added a couple of comments/suggestions to >>>>>>>>> the >>>>>>>>> >>>>>>>>> issue. >>>>>>>>>> >>>>>>>>>> In short I believe that it is probably easier for the >>>>>>>>>> user/developer >>>>>>>>>> if >>>>>>>>>> >>>>>>>>>> it >>>>>>>>>> >>>>>>>>> is enough to specify whether a secure data channel should be used >>>>>>>>> or >>>>>>>>> not >>>>>>>>> >>>>>>>>> (the default should be true). Adding more detailed options, like >>>>>>>>>> you >>>>>>>>>> >>>>>>>>>> did, is >>>>>>>>>> >>>>>>>>> of course just a benefit as long as it is possible to also >>>>>>>>> configure >>>>>>>>> it >>>>>>>>> the >>>>>>>>> easy way (like I described). >>>>>>>>> >>>>>>>>> I haven't tested your changes yet - will do. I have done some >>>>>>>>>> limited >>>>>>>>>> testing with my own version, but only in passive mode. If you use >>>>>>>>>> a >>>>>>>>>> >>>>>>>>>> secure >>>>>>>>>> >>>>>>>>> data channel in active mode one must first create a public/private >>>>>>>>> key >>>>>>>>> pair >>>>>>>>> for the ftps client to use and I haven't gotten around to testing >>>>>>>>> that >>>>>>>>> yet. >>>>>>>>> /Bengt >>>>>>>>> >>>>>>>>> 2010/6/4 Claus Ibsen <claus.ib...@gmail.com> >>>>>>>>>> >>>>>>>>>> Hi >>>>>>>>>> >>>>>>>>>> On Fri, Jun 4, 2010 at 3:42 PM, Bengt Rodehav <be...@rodehav.com >>>>>>>>>>> > >>>>>>>>>>> >>>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>> OK, will try to do that sometime this weekend. >>>>>>>>> >>>>>>>>> Will be in touch, >>>>>>>>>> >>>>>>>>>>> I was one step ahead of you. I created the ticket and took a >>>>>>>>>>>> stab >>>>>>>>>>>> at >>>>>>>>>>>> >>>>>>>>>>>> resolving it. >>>>>>>>>>> https://issues.apache.org/activemq/browse/CAMEL-2790 >>>>>>>>>>> >>>>>>>>>>> Can you try with the latest source code? And maybe if there is >>>>>>>>>>> still >>>>>>>>>>> some issue then work on a patch from there. >>>>>>>>>>> Would be lovely with an unit test, but the test ftp server we use >>>>>>>>>>> cannot understand the secure data transfer. >>>>>>>>>>> >>>>>>>>>>> Anyway would be awesome if you could test it on your real >>>>>>>>>>> systems. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> /Bengt >>>>>>>>>>> >>>>>>>>>>> 2010/6/4 Claus Ibsen <claus.ib...@gmail.com> >>>>>>>>>>>> >>>>>>>>>>>> Hi >>>>>>>>>>>> >>>>>>>>>>>> Well spotted. Do you mind creating a JIRA ticket and link to >>>>>>>>>>>>> this >>>>>>>>>>>>> >>>>>>>>>>>>> post >>>>>>>>>>>>> >>>>>>>>>>>> using nabble etc. >>>>>>>>>>> >>>>>>>>>> And you may even want to contribute a patch :) >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>>> On Fri, Jun 4, 2010 at 11:34 AM, Bengt Rodehav < >>>>>>>>>>>>> be...@rodehav.com >>>>>>>>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>> I'm using camel-ftp for secure ftps communication. I need to be >>>>>>>>>>>> >>>>>>>>>>>> able >>>>>>>>>>>>> >>>>>>>>>>>>> to >>>>>>>>>>>> >>>>>>>>>>> connect to a wide range of ftps servers in both explicit and >>>>>>>>>> >>>>>>>>>>> implicit >>>>>>>>>>>>> >>>>>>>>>>>>> mode. >>>>>>>>>>>> >>>>>>>>>>> I have encountered problems using camel-ftp for ftps >>>>>>>>>> communication >>>>>>>>>> >>>>>>>>>>> in >>>>>>>>>>>>>> >>>>>>>>>>>>> implicit mode. >>>>>>>>>>>> >>>>>>>>>>> Some ftps servers require that the file transfer is encrypted >>>>>>>>>> (not >>>>>>>>>> >>>>>>>>>>> just >>>>>>>>>>>>>> >>>>>>>>>>>>> the >>>>>>>>>>>> >>>>>>>>>>>> commands). This is of course very natural and is the reason why >>>>>>>>>>>>> >>>>>>>>>>>>>> ftps >>>>>>>>>>>>>> >>>>>>>>>>>>> is >>>>>>>>>>>> >>>>>>>>>>> chosen in the first place. However, commons-net (which camel-ftp >>>>>>>>>> >>>>>>>>>>> uses) >>>>>>>>>>>>> >>>>>>>>>>>>> does >>>>>>>>>>>> >>>>>>>>>>>> (for some reason) not by default setup a secure channel for >>>>>>>>>>>>> file >>>>>>>>>>>>> >>>>>>>>>>>>>> transfers. >>>>>>>>>>>>>> >>>>>>>>>>>>> It has to be requested by code similar to the following: >>>>>>>>>>>>> >>>>>>>>>>>>>> ftpsClient.execPBSZ(0); >>>>>>>>>>>>>> ftpsClient.execPROT("P"); >>>>>>>>>>>>>> >>>>>>>>>>>>>> I suggest to add an option to camel-ftp, regarding ftps, to >>>>>>>>>>>>>> make >>>>>>>>>>>>>> >>>>>>>>>>>>>> it >>>>>>>>>>>>>> >>>>>>>>>>>>> possible >>>>>>>>>>>> >>>>>>>>>>> to specify whether the data channel will be encrypted or not. >>>>>>>>>> >>>>>>>>>>> Encrypted >>>>>>>>>>>>>> >>>>>>>>>>>>> should be default. >>>>>>>>>>>> >>>>>>>>>>>> When looking at the code in camel-ftp it seems like there is no >>>>>>>>>>>>> >>>>>>>>>>>>>> special >>>>>>>>>>>>>> >>>>>>>>>>>>> handling during connect for ftps compared to ftp. Thus there is >>>>>>>>>>>> no >>>>>>>>>>>> >>>>>>>>>>>> natural >>>>>>>>>>>>> >>>>>>>>>>>>> place to put the above code. One way is to add something like >>>>>>>>>>>>> the >>>>>>>>>>>>> >>>>>>>>>>>>>> following >>>>>>>>>>>>>> >>>>>>>>>>>>> at the end of the method "connect" in the class >>>>>>>>>>>>> "FtpOperations": >>>>>>>>>>>>> >>>>>>>>>>>>>> if(client instanceof FTPSClient) { >>>>>>>>>>>>>> FTPSClient ftpsClient = (FTPSClient)client; >>>>>>>>>>>>>> try { >>>>>>>>>>>>>> if (useSecureDataChannel) { // useSecureDataChannel should >>>>>>>>>>>>>> be >>>>>>>>>>>>>> initialized from the configuration somehow >>>>>>>>>>>>>> ftpsClient.execPBSZ(0); >>>>>>>>>>>>>> ftpsClient.execPROT("P"); >>>>>>>>>>>>>> } >>>>>>>>>>>>>> } catch (SSLException e) { >>>>>>>>>>>>>> throw new >>>>>>>>>>>>>> >>>>>>>>>>>>>> GenericFileOperationFailedException(client.getReplyCode(), >>>>>>>>>>>>>> >>>>>>>>>>>>> client.getReplyString(), e.getMessage(), e); >>>>>>>>>>>> >>>>>>>>>>>> } catch (IOException e) { >>>>>>>>>>>>> >>>>>>>>>>>>>> throw new >>>>>>>>>>>>>> >>>>>>>>>>>>>> GenericFileOperationFailedException(client.getReplyCode(), >>>>>>>>>>>>>> >>>>>>>>>>>>> client.getReplyString(), e.getMessage(), e); >>>>>>>>>>>> >>>>>>>>>>>> } >>>>>>>>>>>>> >>>>>>>>>>>>>> } >>>>>>>>>>>>>> >>>>>>>>>>>>>> Am I the only one having problems with this? Maybe there is a >>>>>>>>>>>>>> >>>>>>>>>>>>>> workaround >>>>>>>>>>>>>> >>>>>>>>>>>>> that I haven't figured out. >>>>>>>>>>>> >>>>>>>>>>>> /Bengt >>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> -- >>>>>>>>>>>>>> >>>>>>>>>>>>> Claus Ibsen >>>>>>>>>>>>> Apache Camel Committer >>>>>>>>>>>>> >>>>>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/ >>>>>>>>>>>>> Open Source Integration: http://fusesource.com >>>>>>>>>>>>> Blog: http://davsclaus.blogspot.com/ >>>>>>>>>>>>> Twitter: http://twitter.com/davsclaus >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> -- >>>>>>>>>>>>> >>>>>>>>>>>> Claus Ibsen >>>>>>>>>>> Apache Camel Committer >>>>>>>>>>> >>>>>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/ >>>>>>>>>>> Open Source Integration: http://fusesource.com >>>>>>>>>>> Blog: http://davsclaus.blogspot.com/ >>>>>>>>>>> Twitter: http://twitter.com/davsclaus >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> >>>>>>>>>> Claus Ibsen >>>>>>>> Apache Camel Committer >>>>>>>> >>>>>>>> Author of Camel in Action: http://www.manning.com/ibsen/ >>>>>>>> Open Source Integration: http://fusesource.com >>>>>>>> Blog: http://davsclaus.blogspot.com/ >>>>>>>> Twitter: http://twitter.com/davsclaus >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>> >> >