Re: Camel OSGI is not working in Eclipse RCP 3.5
I'm sorry to hear that. If you have time , please try to exclude the package of org.apache.camel.osgi. This package includes lots of OSGi magic :) Willem otech wrote: Thanks for the advice. Bundle-ActivationPolicy: lazy is the only way in Eclipse according to what I found. The Bundle-ActivationPolicy Header The Bundle-ActivationPolicy header is introduced to allow a bundle to specify a bundle start policy. Bundle-ActivationPolicy ::= policy-type (';' directive)* policy-type ::= token The only defined policy type is lazy. The lazy activation policy has the following defined directives: include � A comma-separated list of package names that require the lazy activation policy. Note that the use of a comma in the value requires it to be enclosed in double quotes. If not specified then all packages require the lazy activation policy. exclude � A comma-separated list of package names that do not use the lazy activation policy. Note that the use of a comma in the value requires it to be enclosed in double quotes. If not specified then all packages require the lazy activation policy. I have add the Exclude like the follow: Bundle-ActivationPolicy: lazy; exclude:="org.apache.camel.converter" but still give me the exception. 2009-08-07 11:18:14,382 INFO [org.apache.camel.spring.handler.CamelNamespaceHandler] - camel-osgi.jar not detected in classpath 2009-08-07 11:18:28,944 WARN [org.apache.camel.impl.DefaultPackageScanClassResolver] - Could not read entries in url: bundleresource://61.fwk26208195:17/org/apache/camel/converter/ java.io.FileNotFoundException: \org\apache\camel\converter (The system cannot find the path specified) I have to gave up the camel at this time because of the deadline. Thank you for all the helps. willem.jiang wrote: Hi, Can you change this property in your MANIFEST.MF ? Bundle-ActivationPolicy: lazy Willem otech wrote: I have moved the osgi jar before camel-spring jar. But the problem still exits. Thank you for all the help. Logs: 2009-08-06 11:12:20,308 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] - Loading XML bean definitions from URL [bundleresource://53.fwk28904249/beanRefFactory.xml] 2009-08-06 11:12:20,370 INFO [org.springframework.beans.factory.support.DefaultListableBeanFactory] - Pre-instantiating singletons in org.springframework.beans.factory.support.defaultlistablebeanfact...@1343ed0: defining beans [ctx]; root of factory hierarchy 2009-08-06 11:12:20,433 INFO [org.springframework.context.support.ClassPathXmlApplicationContext] - Refreshing org.springframework.context.support.classpathxmlapplicationcont...@17a4989: display name [org.springframework.context.support.classpathxmlapplicationcont...@17a4989]; startup date [Thu Aug 06 11:12:20 EDT 2009]; root of context hierarchy 2009-08-06 11:12:20,433 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] - Loading XML bean definitions from class path resource [resources/ptcContext.xml] 2009-08-06 11:12:22,527 INFO [org.apache.camel.spring.handler.CamelNamespaceHandler] - camel-osgi.jar not detected in classpath 2009-08-06 11:12:22,964 INFO [org.springframework.context.support.ClassPathXmlApplicationContext] - Bean factory for application context [org.springframework.context.support.classpathxmlapplicationcont...@17a4989]: org.springframework.beans.factory.support.defaultlistablebeanfact...@c8c7d6 2009-08-06 11:12:23,027 INFO [org.apache.camel.impl.DefaultCamelContext] - JMX enabled. Using InstrumentationLifecycleStrategy. 2009-08-06 11:12:23,058 INFO [org.springframework.beans.factory.support.DefaultListableBeanFactory] - Pre-instantiating singletons in org.springframework.beans.factory.support.defaultlistablebeanfact...@c8c7d6: defining beans [activemq,orderTopicMessageProcessor,desktopCamelTemplate,camel:beanPostProcessor,camel,jmsConnectionFactory,lavaOrderTopic,sectorSummaryTopic,Ptc2Pts-RequestQ,jmsTemplate,orderMsgProcessor,orderTopicMessageListener,sectorSummaryMessageListener,sectorSummaryMessageListenerContainer,requester,userRequester]; root of factory hierarchy 2009-08-06 11:12:23,339 INFO [org.springframework.jms.connection.SingleConnectionFactory] - Established shared JMS Connection: ActiveMQConnection {id=ID:WJB1DEV3-4488-1249571543230-0:0,clientId=null,started=false} 2009-08-06 11:12:23,402 INFO [org.apache.camel.spring.SpringCamelContext] - Starting Apache Camel as property ShouldStartContext is true 2009-08-06 11:12:23,402 INFO [org.apache.camel.impl.DefaultCamelContext] - Apache Camel 2.0-M3 (CamelContext:camel) is starting 2009-08-06 11:12:23,589 INFO [org.apache.camel.impl.DefaultCamelContext] - Apache Camel 2.0-M3 (CamelContext:camel) started The MANIFEST.MF file: Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.core.databinding;bundle-version="1.2.0", org.eclipse.core.databinding.beans;bundle-version="1.2.0", org.eclipse.core.databinding.property;bundle-version="1.2.0", org.eclipse.jface.databinding;bundle-ve
Re: JMS dropping messages
On Fri, Aug 7, 2009 at 7:15 PM, michaelv wrote: > > I found it. So it turns out it's a bit of a false alarm. There was another > process started by our app I wasn't aware of that didn't occasional polling > on that queue and removed data. When I wrote the plain Java code I wasn't > using polling, so I received all the messages. When using camel / spring it > uses polling and so it left a brief window for the other process to > occasionally grab a message. I was able to disable that other process and > resolve the issue. > Glad you found the culprit. Something like that happens once in a while. > Thanks! > > > michaelv wrote: >> >> Thanks for the tips. I had already tried a plain JMS client and it worked >> fine. I create my own JMS connection / session / listener and then just >> forwarded the messages to a "direct" endpoint and it received all the >> messages. >> >> I turned on TRACE (thanks for that) and checked the onMessage calls. As >> it turns out, onMessage is being called too few times for that queue. So >> for that dataset, it should be called 94 times for that queue, but it >> varies from about 88 to 93 (it's not the same every time). So it would >> appear as if the messages aren't even being delivered to the >> EndpontMessageListener. >> >> Changing maxMessagesPerTask had now affect. I had tried 1 before just to >> see if that made a difference, but setting it to -1 didn't help either. >> >> Any other suggestions? I'm a bit stumped with this one. Does the fault >> likely lie with Spring, or is there something else I may be >> misconfiguring? >> >> >> Claus Ibsen-2 wrote: >>> >>> Hi >>> >>> Strange as we dont get this kind of reportings before. >>> >>> The JMS component have TRACE logging (verbose) but you can use it as >>> it will log at onMessage START when the onMessage method is invoked by >>> the spring JMS listener. This is the very first code that is executed >>> in Camel. And maybe that can help you to count to 100. >>> >>> For compariion you could build a plain JMS listener and try to see if >>> you can use it to get all 100 msg as well? >>> >>> And you should set this option as well: >>> maxMessagesPerTask=-1 >>> >>> I cannot remember if that was fixed in 2.0m3 or later. >>> >>> >>> >>> On Thu, Aug 6, 2009 at 5:09 PM, michaelv wrote: We have an application deployed in Weblogic and I have written a camel client (using 2.0-M3) that publishes JMS messages to a queue read by that application and then monitors a couple of queues for different types of output. So here are my issues: 1. One of the queues, at least, is showing a discrepancy between the number of messages posted and the number of messages my camel client consumes -- my client is short. In one common example, a particular set of input messages generates a total of 94 messages on one of the output queues -- as indicated by weblogic and my application logging. My camel client, however, only appears to consume 93 of them, with no errors reported anywhere and no indication in the logs of any other messages that never reached my Producer. So my question is, where did it go, or how can I trace it? I've simplified my route to only a single "to" that simply posts to a bean processor that does nothing but log the receipt of the message. 2. In an attempt to simplify further, I explicitly set the number of consumers on the queue to 1 (though I believed that to be the default). However, I still see anywhere from 1 to as many as 7 consumers connected to the queue (no, there are no other clients other than this one, the count drops to 0 immediately upon termination of this client). So why doesn't camel respect the consumer settings? Here is the portion of my configuration that applies to this particular JMS queue: >>> uri="weblogicsp:queue:ecis.helix.service.errorQ?concurrentConsumers=1?msMessageType=Text" /> >>> class="org.apache.camel.component.jms.JmsComponent"> NOTE: This client connects to two separate JMS servers, and one uses the "jms" prefix, so I created a second "weblogicsp" to connect to the other one -- hence the non-standard prefix. There is another similar configuration using "jms" that points to that other server, and there is a route that connects to a queue on that server as well, in case that matters. Both route replies to the same "bean:tracker?method=receive" endpoint. -- View this message in context: http://www.nabble.com/JMS-dropping-messages-tp24848390p24848390.html Sent from the Camel - Users mailing list archive at Nabble.com. >>> >>> >>> >>> -- >>> Claus Ibsen >>> Apache Camel Committer >>> >>> Open Source Integration: http://fusesource.com >>> Blog: h
Re: JMS dropping messages
I found it. So it turns out it's a bit of a false alarm. There was another process started by our app I wasn't aware of that didn't occasional polling on that queue and removed data. When I wrote the plain Java code I wasn't using polling, so I received all the messages. When using camel / spring it uses polling and so it left a brief window for the other process to occasionally grab a message. I was able to disable that other process and resolve the issue. Thanks! michaelv wrote: > > Thanks for the tips. I had already tried a plain JMS client and it worked > fine. I create my own JMS connection / session / listener and then just > forwarded the messages to a "direct" endpoint and it received all the > messages. > > I turned on TRACE (thanks for that) and checked the onMessage calls. As > it turns out, onMessage is being called too few times for that queue. So > for that dataset, it should be called 94 times for that queue, but it > varies from about 88 to 93 (it's not the same every time). So it would > appear as if the messages aren't even being delivered to the > EndpontMessageListener. > > Changing maxMessagesPerTask had now affect. I had tried 1 before just to > see if that made a difference, but setting it to -1 didn't help either. > > Any other suggestions? I'm a bit stumped with this one. Does the fault > likely lie with Spring, or is there something else I may be > misconfiguring? > > > Claus Ibsen-2 wrote: >> >> Hi >> >> Strange as we dont get this kind of reportings before. >> >> The JMS component have TRACE logging (verbose) but you can use it as >> it will log at onMessage START when the onMessage method is invoked by >> the spring JMS listener. This is the very first code that is executed >> in Camel. And maybe that can help you to count to 100. >> >> For compariion you could build a plain JMS listener and try to see if >> you can use it to get all 100 msg as well? >> >> And you should set this option as well: >> maxMessagesPerTask=-1 >> >> I cannot remember if that was fixed in 2.0m3 or later. >> >> >> >> On Thu, Aug 6, 2009 at 5:09 PM, michaelv wrote: >>> >>> We have an application deployed in Weblogic and I have written a camel >>> client >>> (using 2.0-M3) that publishes JMS messages to a queue read by that >>> application and then monitors a couple of queues for different types of >>> output. So here are my issues: >>> >>> 1. One of the queues, at least, is showing a discrepancy between the >>> number >>> of messages posted and the number of messages my camel client consumes >>> -- my >>> client is short. In one common example, a particular set of input >>> messages >>> generates a total of 94 messages on one of the output queues -- as >>> indicated >>> by weblogic and my application logging. My camel client, however, only >>> appears to consume 93 of them, with no errors reported anywhere and no >>> indication in the logs of any other messages that never reached my >>> Producer. >>> So my question is, where did it go, or how can I trace it? I've >>> simplified >>> my route to only a single "to" that simply posts to a bean processor >>> that >>> does nothing but log the receipt of the message. >>> >>> 2. In an attempt to simplify further, I explicitly set the number of >>> consumers on the queue to 1 (though I believed that to be the default). >>> However, I still see anywhere from 1 to as many as 7 consumers connected >>> to >>> the queue (no, there are no other clients other than this one, the count >>> drops to 0 immediately upon termination of this client). So why doesn't >>> camel respect the consumer settings? >>> >>> Here is the portion of my configuration that applies to this particular >>> JMS >>> queue: >>> >>> >>> >> uri="weblogicsp:queue:ecis.helix.service.errorQ?concurrentConsumers=1?msMessageType=Text" >>> /> >>> >>> >>> >>> >>> >> class="org.apache.camel.component.jms.JmsComponent"> >>> >>> >>> >>> >>> >>> NOTE: This client connects to two separate JMS servers, and one uses the >>> "jms" prefix, so I created a second "weblogicsp" to connect to the other >>> one >>> -- hence the non-standard prefix. There is another similar >>> configuration >>> using "jms" that points to that other server, and there is a route that >>> connects to a queue on that server as well, in case that matters. Both >>> route replies to the same "bean:tracker?method=receive" endpoint. >>> >>> >>> >>> -- >>> View this message in context: >>> http://www.nabble.com/JMS-dropping-messages-tp24848390p24848390.html >>> Sent from the Camel - Users mailing list archive at Nabble.com. >>> >>> >> >> >> >> -- >> Claus Ibsen >> Apache Camel Committer >> >> Open Source Integration: http://fusesource.com >> Blog: http://davsclaus.blogspot.com/ >> Twitter: http://twitter.com/davsclaus >> >> > > -- View this message in context: http://www.nabble.com/JMS-dropping-messages-tp24848390p24868677.html Sent from the Camel - Users mailing list archive at Nabbl
Re: JMS dropping messages
Thanks for the tips. I had already tried a plain JMS client and it worked fine. I create my own JMS connection / session / listener and then just forwarded the messages to a "direct" endpoint and it received all the messages. I turned on TRACE (thanks for that) and checked the onMessage calls. As it turns out, onMessage is being called too few times for that queue. So for that dataset, it should be called 94 times for that queue, but it varies from about 88 to 93 (it's not the same every time). So it would appear as if the messages aren't even being delivered to the EndpontMessageListener. Changing maxMessagesPerTask had now affect. I had tried 1 before just to see if that made a difference, but setting it to -1 didn't help either. Any other suggestions? I'm a bit stumped with this one. Does the fault likely lie with Spring, or is there something else I may be misconfiguring? Claus Ibsen-2 wrote: > > Hi > > Strange as we dont get this kind of reportings before. > > The JMS component have TRACE logging (verbose) but you can use it as > it will log at onMessage START when the onMessage method is invoked by > the spring JMS listener. This is the very first code that is executed > in Camel. And maybe that can help you to count to 100. > > For compariion you could build a plain JMS listener and try to see if > you can use it to get all 100 msg as well? > > And you should set this option as well: > maxMessagesPerTask=-1 > > I cannot remember if that was fixed in 2.0m3 or later. > > > > On Thu, Aug 6, 2009 at 5:09 PM, michaelv wrote: >> >> We have an application deployed in Weblogic and I have written a camel >> client >> (using 2.0-M3) that publishes JMS messages to a queue read by that >> application and then monitors a couple of queues for different types of >> output. So here are my issues: >> >> 1. One of the queues, at least, is showing a discrepancy between the >> number >> of messages posted and the number of messages my camel client consumes -- >> my >> client is short. In one common example, a particular set of input >> messages >> generates a total of 94 messages on one of the output queues -- as >> indicated >> by weblogic and my application logging. My camel client, however, only >> appears to consume 93 of them, with no errors reported anywhere and no >> indication in the logs of any other messages that never reached my >> Producer. >> So my question is, where did it go, or how can I trace it? I've >> simplified >> my route to only a single "to" that simply posts to a bean processor that >> does nothing but log the receipt of the message. >> >> 2. In an attempt to simplify further, I explicitly set the number of >> consumers on the queue to 1 (though I believed that to be the default). >> However, I still see anywhere from 1 to as many as 7 consumers connected >> to >> the queue (no, there are no other clients other than this one, the count >> drops to 0 immediately upon termination of this client). So why doesn't >> camel respect the consumer settings? >> >> Here is the portion of my configuration that applies to this particular >> JMS >> queue: >> >> >> > uri="weblogicsp:queue:ecis.helix.service.errorQ?concurrentConsumers=1?msMessageType=Text" >> /> >> >> >> >> >> > class="org.apache.camel.component.jms.JmsComponent"> >> >> >> >> >> >> NOTE: This client connects to two separate JMS servers, and one uses the >> "jms" prefix, so I created a second "weblogicsp" to connect to the other >> one >> -- hence the non-standard prefix. There is another similar configuration >> using "jms" that points to that other server, and there is a route that >> connects to a queue on that server as well, in case that matters. Both >> route replies to the same "bean:tracker?method=receive" endpoint. >> >> >> >> -- >> View this message in context: >> http://www.nabble.com/JMS-dropping-messages-tp24848390p24848390.html >> Sent from the Camel - Users mailing list archive at Nabble.com. >> >> > > > > -- > Claus Ibsen > Apache Camel Committer > > Open Source Integration: http://fusesource.com > Blog: http://davsclaus.blogspot.com/ > Twitter: http://twitter.com/davsclaus > > -- View this message in context: http://www.nabble.com/JMS-dropping-messages-tp24848390p24866799.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Camel OSGI is not working in Eclipse RCP 3.5
Thanks for the advice. Bundle-ActivationPolicy: lazy is the only way in Eclipse according to what I found. The Bundle-ActivationPolicy Header The Bundle-ActivationPolicy header is introduced to allow a bundle to specify a bundle start policy. Bundle-ActivationPolicy ::= policy-type (';' directive)* policy-type ::= token The only defined policy type is lazy. The lazy activation policy has the following defined directives: include � A comma-separated list of package names that require the lazy activation policy. Note that the use of a comma in the value requires it to be enclosed in double quotes. If not specified then all packages require the lazy activation policy. exclude � A comma-separated list of package names that do not use the lazy activation policy. Note that the use of a comma in the value requires it to be enclosed in double quotes. If not specified then all packages require the lazy activation policy. I have add the Exclude like the follow: Bundle-ActivationPolicy: lazy; exclude:="org.apache.camel.converter" but still give me the exception. 2009-08-07 11:18:14,382 INFO [org.apache.camel.spring.handler.CamelNamespaceHandler] - camel-osgi.jar not detected in classpath 2009-08-07 11:18:28,944 WARN [org.apache.camel.impl.DefaultPackageScanClassResolver] - Could not read entries in url: bundleresource://61.fwk26208195:17/org/apache/camel/converter/ java.io.FileNotFoundException: \org\apache\camel\converter (The system cannot find the path specified) I have to gave up the camel at this time because of the deadline. Thank you for all the helps. willem.jiang wrote: > > Hi, > > Can you change this property in your MANIFEST.MF ? > Bundle-ActivationPolicy: lazy > > Willem > otech wrote: >> I have moved the osgi jar before camel-spring jar. But the problem still >> exits. Thank you for all the help. >> >> Logs: >> >> 2009-08-06 11:12:20,308 INFO >> [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] - Loading >> XML bean definitions from URL >> [bundleresource://53.fwk28904249/beanRefFactory.xml] >> 2009-08-06 11:12:20,370 INFO >> [org.springframework.beans.factory.support.DefaultListableBeanFactory] - >> Pre-instantiating singletons in >> org.springframework.beans.factory.support.defaultlistablebeanfact...@1343ed0: >> defining beans [ctx]; root of factory hierarchy >> 2009-08-06 11:12:20,433 INFO >> [org.springframework.context.support.ClassPathXmlApplicationContext] - >> Refreshing >> org.springframework.context.support.classpathxmlapplicationcont...@17a4989: >> display name >> [org.springframework.context.support.classpathxmlapplicationcont...@17a4989]; >> startup date [Thu Aug 06 11:12:20 EDT 2009]; root of context hierarchy >> 2009-08-06 11:12:20,433 INFO >> [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] - Loading >> XML bean definitions from class path resource [resources/ptcContext.xml] >> 2009-08-06 11:12:22,527 INFO >> [org.apache.camel.spring.handler.CamelNamespaceHandler] - camel-osgi.jar >> not >> detected in classpath >> 2009-08-06 11:12:22,964 INFO >> [org.springframework.context.support.ClassPathXmlApplicationContext] - >> Bean >> factory for application context >> [org.springframework.context.support.classpathxmlapplicationcont...@17a4989]: >> org.springframework.beans.factory.support.defaultlistablebeanfact...@c8c7d6 >> 2009-08-06 11:12:23,027 INFO [org.apache.camel.impl.DefaultCamelContext] >> - >> JMX enabled. Using InstrumentationLifecycleStrategy. >> 2009-08-06 11:12:23,058 INFO >> [org.springframework.beans.factory.support.DefaultListableBeanFactory] - >> Pre-instantiating singletons in >> org.springframework.beans.factory.support.defaultlistablebeanfact...@c8c7d6: >> defining beans >> [activemq,orderTopicMessageProcessor,desktopCamelTemplate,camel:beanPostProcessor,camel,jmsConnectionFactory,lavaOrderTopic,sectorSummaryTopic,Ptc2Pts-RequestQ,jmsTemplate,orderMsgProcessor,orderTopicMessageListener,sectorSummaryMessageListener,sectorSummaryMessageListenerContainer,requester,userRequester]; >> root of factory hierarchy >> 2009-08-06 11:12:23,339 INFO >> [org.springframework.jms.connection.SingleConnectionFactory] - >> Established >> shared JMS Connection: ActiveMQConnection >> {id=ID:WJB1DEV3-4488-1249571543230-0:0,clientId=null,started=false} >> 2009-08-06 11:12:23,402 INFO [org.apache.camel.spring.SpringCamelContext] >> - >> Starting Apache Camel as property ShouldStartContext is true >> 2009-08-06 11:12:23,402 INFO [org.apache.camel.impl.DefaultCamelContext] >> - >> Apache Camel 2.0-M3 (CamelContext:camel) is starting >> 2009-08-06 11:12:23,589 INFO [org.apache.camel.impl.DefaultCamelContext] >> - >> Apache Camel 2.0-M3 (CamelContext:camel) started >> >> >> The MANIFEST.MF file: >> Require-Bundle: org.eclipse.ui, >> org.eclipse.core.runtime, >> org.eclipse.core.databinding;bundle-version="1.2.0", >> org.eclipse.core.databinding.beans;bundle-version="1.2.0", >> org.eclipse.core.databinding.property;bundle-version="1.2.0", >>
Re: CamelNamespaceHandler Exception cont
Hi Could be that your Savvion BPMS environment have Spring locked down as a kind off .jar that resides in system/bootstrap classloader. Like good old days with IBM WebSphere having old version of jdom.jar in there as well. Welcome to .jar hell in Java land. Where did you find the spring 2.0 .jar? And how do you package and deploy your applications. Maybe you got a support contract with Savvion that can explain "how it works with using spring 2.5.x on their platform" and avoiding classload hell. BTW I have newer heard of Savvion so I do not have experience with it. On Fri, Aug 7, 2009 at 4:31 PM, skadirov wrote: > > Sorry to post a new thread. I was unable to access the original > CamelNamespaceHandler Exception post with the error below. > > Service Temporarily Unavailable > The bwshare module will refuse your requests for the next 0 seconds. > You have made too many requests per second. > > Re question below: > Yes, there was spring 20 jar. Replaced it with 2.5.6. Unfortunately, still > got the same exception. > > Thanks. > > > > Hi, Can you check if Savvion has spring jar in it's lib or > -- > View this message in context: > http://www.nabble.com/CamelNamespaceHandler-Exception-cont-tp24865949p24865949.html > Sent from the Camel - Users mailing list archive at Nabble.com. > > -- Claus Ibsen Apache Camel Committer Open Source Integration: http://fusesource.com Blog: http://davsclaus.blogspot.com/ Twitter: http://twitter.com/davsclaus
CamelNamespaceHandler Exception cont
Sorry to post a new thread. I was unable to access the original CamelNamespaceHandler Exception post with the error below. Service Temporarily Unavailable The bwshare module will refuse your requests for the next 0 seconds. You have made too many requests per second. Re question below: Yes, there was spring 20 jar. Replaced it with 2.5.6. Unfortunately, still got the same exception. Thanks. Hi, Can you check if Savvion has spring jar in it's lib or -- View this message in context: http://www.nabble.com/CamelNamespaceHandler-Exception-cont-tp24865949p24865949.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: synchronization between separate from() paths
Hi You can switch to use polling consumer and then trigger then based on some timer. And then check on a flag whether this route should run out not. from(timerA).bean(a) from(timerB).bean(b) And then in your bean just check the flag and if its okay then poll the sourceA and invoke processor A Low level but practical What could be nice is that the from() in Camel could have a onWhen or the likes that can allow fine grained control when it should be running. Anyway that stuff is for Camel 2.x. On Fri, Aug 7, 2009 at 3:05 PM, arhan wrote: > > I have 2 routes defined as follows: > > configure(){ > from("sourceA").to("processorA"); > from("sourceB").to("processorB"); > } > > sourceB content is produced by processorA. > > I have now a requirement that processorB should not start until processorA > has not finished its work, and other way raund, processorA should not start > if processorB is working. > > Is there any camel-like-idioms for such case? > > > Probably, I could use a DelegateProcessor to wrap my processors and do > synchronizing on a shared object, but this looks kind of a hack.. > -- > View this message in context: > http://www.nabble.com/synchronization-between-separate-from%28%29-paths-tp24864534p24864534.html > Sent from the Camel - Users mailing list archive at Nabble.com. > > -- Claus Ibsen Apache Camel Committer Open Source Integration: http://fusesource.com Blog: http://davsclaus.blogspot.com/ Twitter: http://twitter.com/davsclaus
Re: CamelNamespaceHandler Exception
Hi, Can you check if Savvion has spring jar in it's lib or system director? Willem skadirov wrote: The environment is Savvion BPMS. Camel is used as integration tier between savvion and thrid party tools (such as Aspera for file movement etc). Both CamelNamespaceHandler and NamespaceHandler it seems should be loaded by the same class loader. Here are savvion classpath declarations. sbmcp=$sbmcp:$SBM_HOME/ebmsapps/common/lib/camel-spring-2.0-M1.jar sbmcp=$sbmcp:$SBM_HOME/ebmsapps/common/lib/spring-2.5.6.jar sbmcp=$sbmcp:$SBM_HOME/ebmsapps/common/lib/camel-core-2.0-M1.jar sbmcp=$sbmcp:$SBM_HOME/ebmsapps/common/lib/camel-jms-2.0-M1.jar Thanks. mproch wrote: Can you describe environment you're using (osgi, smx, ...) ? I experienced similar problems and they were usually related to classloader issues (i.e. org.apache.camel.spring.handler.CamelNamespaceHandler was loaded by deifferent classloader than org.springframework.beans.factory.xml.NamespaceHandler) br, maciek prochniak On Fri, 2009-08-07 at 05:44 -0700, skadirov wrote: Thanks for responding. I am using camel 2.0-M1 and the following namespaces: http://www.springframework.org/schema/beans"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:camel="http://camel.apache.org/schema/spring"; xmlns:broker="http://activemq.apache.org/schema/core"; 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 http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd"; > willem.jiang wrote: Hi, Which version of Camel are you using ? If you are using camel-1.x , you should try to use this namespace http://activemq.apache.org/camel/schema/spring Willem skadirov wrote: Hello, I am getting the exception below. I was wondering if someone had run into and what was the fix. Many thanks. Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [MessageBrokerContext.xml]; nested exception is org.springframework.beans.FatalBeanException: Class [org.apache.camel.spring.handler.CamelNamespaceHandler] for namespace [http://camel.apache.org/schema/spring] does not implement the [org.springframework.beans.factory.xml.NamespaceHandler] interface
Re: synchronization between separate from() paths
You should use camel-bam for such requirements. Hadrian On Aug 7, 2009, at 9:05 AM, arhan wrote: I have 2 routes defined as follows: configure(){ from("sourceA").to("processorA"); from("sourceB").to("processorB"); } sourceB content is produced by processorA. I have now a requirement that processorB should not start until processorA has not finished its work, and other way raund, processorA should not start if processorB is working. Is there any camel-like-idioms for such case? Probably, I could use a DelegateProcessor to wrap my processors and do synchronizing on a shared object, but this looks kind of a hack.. -- View this message in context: http://www.nabble.com/synchronization-between-separate-from%28%29-paths-tp24864534p24864534.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: CamelNamespaceHandler Exception
The environment is Savvion BPMS. Camel is used as integration tier between savvion and thrid party tools (such as Aspera for file movement etc). Both CamelNamespaceHandler and NamespaceHandler it seems should be loaded by the same class loader. Here are savvion classpath declarations. sbmcp=$sbmcp:$SBM_HOME/ebmsapps/common/lib/camel-spring-2.0-M1.jar sbmcp=$sbmcp:$SBM_HOME/ebmsapps/common/lib/spring-2.5.6.jar sbmcp=$sbmcp:$SBM_HOME/ebmsapps/common/lib/camel-core-2.0-M1.jar sbmcp=$sbmcp:$SBM_HOME/ebmsapps/common/lib/camel-jms-2.0-M1.jar Thanks. mproch wrote: > > Can you describe environment you're using (osgi, smx, ...) ? > I experienced similar problems and they were usually related to > classloader issues (i.e. > org.apache.camel.spring.handler.CamelNamespaceHandler was loaded by > deifferent classloader than > org.springframework.beans.factory.xml.NamespaceHandler) > > br, > maciek prochniak > > On Fri, 2009-08-07 at 05:44 -0700, skadirov wrote: >> Thanks for responding. >> >> I am using camel 2.0-M1 and the following namespaces: >> >> http://www.springframework.org/schema/beans"; >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; >> xmlns:camel="http://camel.apache.org/schema/spring"; >> xmlns:broker="http://activemq.apache.org/schema/core"; >> 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 >> http://activemq.apache.org/schema/core >> http://activemq.apache.org/schema/core/activemq-core.xsd"; > >> >> >> >> >> >> >> willem.jiang wrote: >> > >> > Hi, >> > >> > Which version of Camel are you using ? >> > If you are using camel-1.x , you should try to use this namespace >> > http://activemq.apache.org/camel/schema/spring >> > >> > Willem >> > >> > skadirov wrote: >> >> Hello, >> >> I am getting the exception below. I was wondering if someone had run >> >> into >> >> and what was the fix. >> >> Many thanks. >> >> >> >> Caused by: >> >> org.springframework.beans.factory.BeanDefinitionStoreException: >> >> Unexpected exception parsing XML document from class path resource >> >> [MessageBrokerContext.xml]; nested exception is >> >> org.springframework.beans.FatalBeanException: Class >> >> [org.apache.camel.spring.handler.CamelNamespaceHandler] for namespace >> >> [http://camel.apache.org/schema/spring] does not implement the >> >> [org.springframework.beans.factory.xml.NamespaceHandler] interface >> > >> > >> > >> > > > -- View this message in context: http://www.nabble.com/CamelNamespaceHandler-Exception-tp24853504p24865111.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: CamelNamespaceHandler Exception
Made the following change: http://www.springframework.org/schema/beans"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:camel="http://camel.apache.org/schema/spring"; xmlns:broker="http://activemq.apache.org/schema/core"; 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-2.0-M1.xsd http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd"; > Got the same exception: Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [MessageBrokerContext.xml]; nested exception is org.springframework.beans.FatalBeanException: Class [org.apache.camel.spring.handler.CamelNamespaceHandler] for namespace [http://camel.apache.org/schema/spring] does not implement the [org.springframework.beans.factory.xml.NamespaceHandler] interface at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:420) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342 Thanks. Claus Ibsen-2 wrote: > > Hi > > Could you try using a fixed version in the namespace XML headers > > eg add 2.0-M1.xsd so you the version of Camel you are using. > > As the xsd files without a version is the latest and greatest releases. > > > On Fri, Aug 7, 2009 at 3:15 PM, skadirov wrote: >> >> Spring version is 2.5.6. >> Thanks. >> >> >> willem.jiang wrote: >>> >>> Hi, >>> >>> I checked the code of >>> org.apache.camel.spring.handler.CamelNamespaceHandler >>> it implements the interface of >>> org.springframework.beans.factory.xml.NamespaceHandler. >>> >>> Can I know which version of Spring are you using ? >>> >>> Willem >>> skadirov wrote: Thanks for responding. I am using camel 2.0-M1 and the following namespaces: http://www.springframework.org/schema/beans"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:camel="http://camel.apache.org/schema/spring"; xmlns:broker="http://activemq.apache.org/schema/core"; 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 http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd"; > willem.jiang wrote: > Hi, > > Which version of Camel are you using ? > If you are using camel-1.x , you should try to use this namespace > http://activemq.apache.org/camel/schema/spring > > Willem > > skadirov wrote: >> Hello, >> I am getting the exception below. I was wondering if someone had run >> into >> and what was the fix. >> Many thanks. >> >> Caused by: >> org.springframework.beans.factory.BeanDefinitionStoreException: >> Unexpected exception parsing XML document from class path resource >> [MessageBrokerContext.xml]; nested exception is >> org.springframework.beans.FatalBeanException: Class >> [org.apache.camel.spring.handler.CamelNamespaceHandler] for namespace >> [http://camel.apache.org/schema/spring] does not implement the >> [org.springframework.beans.factory.xml.NamespaceHandler] interface > > >>> >>> >>> >> >> -- >> View this message in context: >> http://www.nabble.com/CamelNamespaceHandler-Exception-tp24853504p24864683.html >> Sent from the Camel - Users mailing list archive at Nabble.com. >> >> > > > > -- > Claus Ibsen > Apache Camel Committer > > Open Source Integration: http://fusesource.com > Blog: http://davsclaus.blogspot.com/ > Twitter: http://twitter.com/davsclaus > > -- View this message in context: http://www.nabble.com/CamelNamespaceHandler-Exception-tp24853504p24864952.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Bridging between HTTP endpoints
On Fri, Aug 7, 2009 at 1:25 PM, Willem Jiang wrote: > That's because other components in Camel 2.0 will use the Exchange.HTTP_URI > and Exchange.HTTP_PATH to do some work. > > Maybe we can add an option in http endpoint to ignore these two headers if > you still want to use the HTTP bridge as Camel 1.x. > Yeah it could make sense to have a boolean option that will force it to only use the static URI defined on the endpoint. As messages could come from many different sources that are HTTP based and thus would have a "dynamic" URI header. > Willem > _Jens wrote: >> >> Hi, >> >> in Camel 1.x you could write a simple HTTP bridge like this: >> >> CamelContext camelContext = new DefaultCamelContext(); >> camelContext.addRoutes(new RouteBuilder() { >> �...@override >> public void configure() throws Exception { >> >> from("jetty:http://localhost:8435/path1";).to("http://localhost:8435/path2";); >> >> from("jetty:http://localhost:8435/path2";).transform().constant("OK"); >> } >> }); >> camelContext.start(); >> ProducerTemplate producerTemplate = >> camelContext.createProducerTemplate(); >> InputStream result = (InputStream) >> producerTemplate.requestBody("http://localhost:8435/path1";, "Hello"); >> assertEquals("OK", IOUtils.toString(result)); >> >> in Camel 2.0 this doesn't work anymore because the Exchange.HTTP_URI and >> Exchange.HTTP_PATH are set by the consumer that received the initial >> request. The HttpProducer that is called because of the to() then "thinks" >> those header properties were set to define the actual destination and >> sends >> the data to "/path1/path1", which leads to an error. You have to >> explicitly >> remove those properties from the exchange to make it work: >> >> from("jetty:http://localhost:8435/path1";) >> .removeHeader(Exchange.HTTP_URI) >> .removeHeader(Exchange.HTTP_PATH) >> .to("http://localhost:8435/path2";); >> >> I can't think of any use for this behavior and it is rather surprising. >> However, I understand that it might be a side effect that we have to live >> with because the header property names are now shared between the >> endpoints. >> Anyway, is this the way it is supposed to work now or is it worth to >> submit >> a bug report for this? Are there any other properties that should be >> removed >> to ensure that the to() really sends it to the destination it is supposed >> to? >> >> Thanks, >> Jens > > -- Claus Ibsen Apache Camel Committer Open Source Integration: http://fusesource.com Blog: http://davsclaus.blogspot.com/ Twitter: http://twitter.com/davsclaus
Re: CamelNamespaceHandler Exception
Can you describe environment you're using (osgi, smx, ...) ? I experienced similar problems and they were usually related to classloader issues (i.e. org.apache.camel.spring.handler.CamelNamespaceHandler was loaded by deifferent classloader than org.springframework.beans.factory.xml.NamespaceHandler) br, maciek prochniak On Fri, 2009-08-07 at 05:44 -0700, skadirov wrote: > Thanks for responding. > > I am using camel 2.0-M1 and the following namespaces: > > http://www.springframework.org/schema/beans"; > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; > xmlns:camel="http://camel.apache.org/schema/spring"; > xmlns:broker="http://activemq.apache.org/schema/core"; > 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 > http://activemq.apache.org/schema/core > http://activemq.apache.org/schema/core/activemq-core.xsd"; > > > > > > > > willem.jiang wrote: > > > > Hi, > > > > Which version of Camel are you using ? > > If you are using camel-1.x , you should try to use this namespace > > http://activemq.apache.org/camel/schema/spring > > > > Willem > > > > skadirov wrote: > >> Hello, > >> I am getting the exception below. I was wondering if someone had run > >> into > >> and what was the fix. > >> Many thanks. > >> > >> Caused by: > >> org.springframework.beans.factory.BeanDefinitionStoreException: > >> Unexpected exception parsing XML document from class path resource > >> [MessageBrokerContext.xml]; nested exception is > >> org.springframework.beans.FatalBeanException: Class > >> [org.apache.camel.spring.handler.CamelNamespaceHandler] for namespace > >> [http://camel.apache.org/schema/spring] does not implement the > >> [org.springframework.beans.factory.xml.NamespaceHandler] interface > > > > > > >
Re: CamelNamespaceHandler Exception
Hi Could you try using a fixed version in the namespace XML headers eg add 2.0-M1.xsd so you the version of Camel you are using. As the xsd files without a version is the latest and greatest releases. On Fri, Aug 7, 2009 at 3:15 PM, skadirov wrote: > > Spring version is 2.5.6. > Thanks. > > > willem.jiang wrote: >> >> Hi, >> >> I checked the code of >> org.apache.camel.spring.handler.CamelNamespaceHandler >> it implements the interface of >> org.springframework.beans.factory.xml.NamespaceHandler. >> >> Can I know which version of Spring are you using ? >> >> Willem >> skadirov wrote: >>> Thanks for responding. >>> >>> I am using camel 2.0-M1 and the following namespaces: >>> >>> http://www.springframework.org/schema/beans"; >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; >>> xmlns:camel="http://camel.apache.org/schema/spring"; >>> xmlns:broker="http://activemq.apache.org/schema/core"; >>> 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 >>> http://activemq.apache.org/schema/core >>> http://activemq.apache.org/schema/core/activemq-core.xsd"; > >>> >>> >>> >>> >>> >>> >>> willem.jiang wrote: Hi, Which version of Camel are you using ? If you are using camel-1.x , you should try to use this namespace http://activemq.apache.org/camel/schema/spring Willem skadirov wrote: > Hello, > I am getting the exception below. I was wondering if someone had run > into > and what was the fix. > Many thanks. > > Caused by: > org.springframework.beans.factory.BeanDefinitionStoreException: > Unexpected exception parsing XML document from class path resource > [MessageBrokerContext.xml]; nested exception is > org.springframework.beans.FatalBeanException: Class > [org.apache.camel.spring.handler.CamelNamespaceHandler] for namespace > [http://camel.apache.org/schema/spring] does not implement the > [org.springframework.beans.factory.xml.NamespaceHandler] interface >>> >> >> >> > > -- > View this message in context: > http://www.nabble.com/CamelNamespaceHandler-Exception-tp24853504p24864683.html > Sent from the Camel - Users mailing list archive at Nabble.com. > > -- Claus Ibsen Apache Camel Committer Open Source Integration: http://fusesource.com Blog: http://davsclaus.blogspot.com/ Twitter: http://twitter.com/davsclaus
Re: CamelNamespaceHandler Exception
Spring version is 2.5.6. Thanks. willem.jiang wrote: > > Hi, > > I checked the code of > org.apache.camel.spring.handler.CamelNamespaceHandler > it implements the interface of > org.springframework.beans.factory.xml.NamespaceHandler. > > Can I know which version of Spring are you using ? > > Willem > skadirov wrote: >> Thanks for responding. >> >> I am using camel 2.0-M1 and the following namespaces: >> >> http://www.springframework.org/schema/beans"; >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; >> xmlns:camel="http://camel.apache.org/schema/spring"; >> xmlns:broker="http://activemq.apache.org/schema/core"; >> 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 >> http://activemq.apache.org/schema/core >> http://activemq.apache.org/schema/core/activemq-core.xsd"; > >> >> >> >> >> >> >> willem.jiang wrote: >>> Hi, >>> >>> Which version of Camel are you using ? >>> If you are using camel-1.x , you should try to use this namespace >>> http://activemq.apache.org/camel/schema/spring >>> >>> Willem >>> >>> skadirov wrote: Hello, I am getting the exception below. I was wondering if someone had run into and what was the fix. Many thanks. Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [MessageBrokerContext.xml]; nested exception is org.springframework.beans.FatalBeanException: Class [org.apache.camel.spring.handler.CamelNamespaceHandler] for namespace [http://camel.apache.org/schema/spring] does not implement the [org.springframework.beans.factory.xml.NamespaceHandler] interface >>> >>> >> > > > -- View this message in context: http://www.nabble.com/CamelNamespaceHandler-Exception-tp24853504p24864683.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: CamelNamespaceHandler Exception
Hi, I checked the code of org.apache.camel.spring.handler.CamelNamespaceHandler it implements the interface of org.springframework.beans.factory.xml.NamespaceHandler. Can I know which version of Spring are you using ? Willem skadirov wrote: Thanks for responding. I am using camel 2.0-M1 and the following namespaces: http://www.springframework.org/schema/beans"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:camel="http://camel.apache.org/schema/spring"; xmlns:broker="http://activemq.apache.org/schema/core"; 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 http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd"; > willem.jiang wrote: Hi, Which version of Camel are you using ? If you are using camel-1.x , you should try to use this namespace http://activemq.apache.org/camel/schema/spring Willem skadirov wrote: Hello, I am getting the exception below. I was wondering if someone had run into and what was the fix. Many thanks. Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [MessageBrokerContext.xml]; nested exception is org.springframework.beans.FatalBeanException: Class [org.apache.camel.spring.handler.CamelNamespaceHandler] for namespace [http://camel.apache.org/schema/spring] does not implement the [org.springframework.beans.factory.xml.NamespaceHandler] interface
synchronization between separate from() paths
I have 2 routes defined as follows: configure(){ from("sourceA").to("processorA"); from("sourceB").to("processorB"); } sourceB content is produced by processorA. I have now a requirement that processorB should not start until processorA has not finished its work, and other way raund, processorA should not start if processorB is working. Is there any camel-like-idioms for such case? Probably, I could use a DelegateProcessor to wrap my processors and do synchronizing on a shared object, but this looks kind of a hack.. -- View this message in context: http://www.nabble.com/synchronization-between-separate-from%28%29-paths-tp24864534p24864534.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: file processing, error handling
Claus Ibsen-2 wrote: > > Hi > > I have created the ticket > https://issues.apache.org/activemq/browse/CAMEL-1887 > > And I have just committed the feature to trunk so it should be there > in 2.0 when its released. > > Great stuff! thx! -- View this message in context: http://www.nabble.com/file-processing%2C-error-handling-tp24861063p24864410.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: CamelNamespaceHandler Exception
Thanks for responding. I am using camel 2.0-M1 and the following namespaces: http://www.springframework.org/schema/beans"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:camel="http://camel.apache.org/schema/spring"; xmlns:broker="http://activemq.apache.org/schema/core"; 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 http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd"; > willem.jiang wrote: > > Hi, > > Which version of Camel are you using ? > If you are using camel-1.x , you should try to use this namespace > http://activemq.apache.org/camel/schema/spring > > Willem > > skadirov wrote: >> Hello, >> I am getting the exception below. I was wondering if someone had run >> into >> and what was the fix. >> Many thanks. >> >> Caused by: >> org.springframework.beans.factory.BeanDefinitionStoreException: >> Unexpected exception parsing XML document from class path resource >> [MessageBrokerContext.xml]; nested exception is >> org.springframework.beans.FatalBeanException: Class >> [org.apache.camel.spring.handler.CamelNamespaceHandler] for namespace >> [http://camel.apache.org/schema/spring] does not implement the >> [org.springframework.beans.factory.xml.NamespaceHandler] interface > > > -- View this message in context: http://www.nabble.com/CamelNamespaceHandler-Exception-tp24853504p24864174.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Bridging between HTTP endpoints
Thinking a little bit more about this. Maybe this is just a special case for header filtering strategies. In this case it seems a bit strange, because you explicitly specify the endpoint address in the to() call. However, this is the similar to the case where you want to send a message to an HTTP endpoint with a dynamic address. Thjen you must specify a "dummy" endpoint address. E.g.: .setHeader(Exchange.HTTP_URI) ... .to("http://dummyUri";) I guess it would be less of an issue, if one would have to clearly state in the to() that this is a dynamic endpoint URI. Something like .to("http") to only define the component and the endpoint URI gets looked up from a header. That way the dummy wouldn't be needed and the case with the bridge would run as well, because the to() clearly refers to a fully qualified endpoint address. However, it's nothing I absolutely require, I can live with removing the headers. Jens willem.jiang wrote: > > That's because other components in Camel 2.0 will use the > Exchange.HTTP_URI and Exchange.HTTP_PATH to do some work. > > Maybe we can add an option in http endpoint to ignore these two headers > if you still want to use the HTTP bridge as Camel 1.x. > > Willem > -- View this message in context: http://www.nabble.com/Bridging-between-HTTP-endpoints-tp24861191p24863993.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: Camel Spring Remoting throwing RuntimeException question
On Fri, Aug 7, 2009 at 11:50 AM, akuhtz wrote: > > Hi Claus > > I've created the JIRA issue 1888 with a patch and a test case for the > problem with the Exception. > > > For the problem with the camel-example-pojo-messaging where the camelLock > files remain in the src/data dirctory on my machine. > > The steps as stated in readme.txt: > > call mvn compile camel:run > > > --> files are delivered and *.camelLock are created in src/data > > > --> Ctrl+C to terminate the camel:run > > --> I see shutdown messages for the camel context. > > > delete the messages folder in target .. just to see if the messages are > processed > > call mvn camel:run again > > --> the files are not processed. But in the output I can see that the > FileConsumer prints Total 3 files to consume on DEBUG level, but nothing > happens. > That is because you stop it a bit abruptant using ctrl + c. We will work on later, eg Camel 2.1/2.x to have a in flight registry of exchanges in progress so we can shutdown a bit more graceful. And have strategies so component can do proper house cleaning as well. To remedy the issue you just manually delete the .camelLock files. before starting Camel. > > > My machine is running XP and I have tested with jre 1.5.0_16 and 1.6.0_14. > -- > View this message in context: > http://www.nabble.com/Camel-Spring-Remoting-throwing-RuntimeException-question-tp24825646p24861894.html > Sent from the Camel - Users mailing list archive at Nabble.com. > -- Claus Ibsen Apache Camel Committer Open Source Integration: http://fusesource.com Blog: http://davsclaus.blogspot.com/ Twitter: http://twitter.com/davsclaus
Re: Bridging between HTTP endpoints
That's because other components in Camel 2.0 will use the Exchange.HTTP_URI and Exchange.HTTP_PATH to do some work. Maybe we can add an option in http endpoint to ignore these two headers if you still want to use the HTTP bridge as Camel 1.x. Willem _Jens wrote: Hi, in Camel 1.x you could write a simple HTTP bridge like this: CamelContext camelContext = new DefaultCamelContext(); camelContext.addRoutes(new RouteBuilder() { @Override public void configure() throws Exception { from("jetty:http://localhost:8435/path1";).to("http://localhost:8435/path2";); from("jetty:http://localhost:8435/path2";).transform().constant("OK"); } }); camelContext.start(); ProducerTemplate producerTemplate = camelContext.createProducerTemplate(); InputStream result = (InputStream) producerTemplate.requestBody("http://localhost:8435/path1";, "Hello"); assertEquals("OK", IOUtils.toString(result)); in Camel 2.0 this doesn't work anymore because the Exchange.HTTP_URI and Exchange.HTTP_PATH are set by the consumer that received the initial request. The HttpProducer that is called because of the to() then "thinks" those header properties were set to define the actual destination and sends the data to "/path1/path1", which leads to an error. You have to explicitly remove those properties from the exchange to make it work: from("jetty:http://localhost:8435/path1";) .removeHeader(Exchange.HTTP_URI) .removeHeader(Exchange.HTTP_PATH) .to("http://localhost:8435/path2";); I can't think of any use for this behavior and it is rather surprising. However, I understand that it might be a side effect that we have to live with because the header property names are now shared between the endpoints. Anyway, is this the way it is supposed to work now or is it worth to submit a bug report for this? Are there any other properties that should be removed to ensure that the to() really sends it to the destination it is supposed to? Thanks, Jens
Re: dynamic sql request
On Fri, Aug 7, 2009 at 12:45 PM, Roman Kalukiewicz wrote: > You can also use SQL component this way: > > from("jms:q_in") > .transform(XPathBuilder.xpath("/Listes/Liste/id").stringResult()) > .to("sql:SELECT * FROM v_test WHERE indv=#") > .to("somewhere else"); > Cool maybe we/you should add that as an example to the SQL component wiki page > Roman > > 2009/8/7 Claus Ibsen : >> On Thu, Aug 6, 2009 at 7:09 PM, abdes wrote: >>> >>> Hi, >>> i have diffficult to pass parameter from exchange content to SQL request : >>> here my code : >>> >>> exchange content : >>> >>> >>> 123456 >>> >>> >>> 123456 >>> >>> >>> >>> >>> from("jms:q_in") >>> .enrich("direct:resource", new ExampleAggregationStrategy()) >>> .to("direct:result"); >>> >>> >>> >>> from("direct:resource") >>> .setBody(constant("SELECT * FROM v_test WHERE indv =")) >>> >>> That i want, is to pass value to indv parameter. >>> How can i process ? >>> >> >> The XML above is that content from the JMS message? >> >> Do you need the XML afterwards or only need to grab the tag? >> >> You can use XPath to select the XML node of choice. But also use a >> POJO to fetch it? >> In the POJO you can even set the result as the SQL statement directly >> >> For starters you can use a plain Processor that is a bit low level but >> gives you power in regular Java code to work with it. >> >> To get the data as XML you can use >> >> Document doc = exchange.getIn().getBody(Document.class); >> >> from(jms) >> process(new MyIdToSQLProcessor()) >> .to("jdbc:myDatasource") >> .to("somewhereelse"); >> >> >> >> And in relation to the constant language. Camel provides a bit more >> powerful the simple language that allows you to build strings dynamic >> http://camel.apache.org/simple.html >> >> And then there are all the others with a real programming language underneath >> http://camel.apache.org/languages.html >> >> >>> Regards >>> >>> >>> -- >>> View this message in context: >>> http://www.nabble.com/dynamic-sql-request-tp24850692p24850692.html >>> Sent from the Camel - Users mailing list archive at Nabble.com. >>> >>> >> >> >> >> -- >> Claus Ibsen >> Apache Camel Committer >> >> Open Source Integration: http://fusesource.com >> Blog: http://davsclaus.blogspot.com/ >> Twitter: http://twitter.com/davsclaus >> > -- Claus Ibsen Apache Camel Committer Open Source Integration: http://fusesource.com Blog: http://davsclaus.blogspot.com/ Twitter: http://twitter.com/davsclaus
Re: dynamic sql request
You can also use SQL component this way: from("jms:q_in") .transform(XPathBuilder.xpath("/Listes/Liste/id").stringResult()) .to("sql:SELECT * FROM v_test WHERE indv=#") .to("somewhere else"); Roman 2009/8/7 Claus Ibsen : > On Thu, Aug 6, 2009 at 7:09 PM, abdes wrote: >> >> Hi, >> i have diffficult to pass parameter from exchange content to SQL request : >> here my code : >> >> exchange content : >> >> >> 123456 >> >> >> 123456 >> >> >> >> >> from("jms:q_in") >> .enrich("direct:resource", new ExampleAggregationStrategy()) >> .to("direct:result"); >> >> >> >> from("direct:resource") >> .setBody(constant("SELECT * FROM v_test WHERE indv =")) >> >> That i want, is to pass value to indv parameter. >> How can i process ? >> > > The XML above is that content from the JMS message? > > Do you need the XML afterwards or only need to grab the tag? > > You can use XPath to select the XML node of choice. But also use a > POJO to fetch it? > In the POJO you can even set the result as the SQL statement directly > > For starters you can use a plain Processor that is a bit low level but > gives you power in regular Java code to work with it. > > To get the data as XML you can use > > Document doc = exchange.getIn().getBody(Document.class); > > from(jms) > process(new MyIdToSQLProcessor()) > .to("jdbc:myDatasource") > .to("somewhereelse"); > > > > And in relation to the constant language. Camel provides a bit more > powerful the simple language that allows you to build strings dynamic > http://camel.apache.org/simple.html > > And then there are all the others with a real programming language underneath > http://camel.apache.org/languages.html > > >> Regards >> >> >> -- >> View this message in context: >> http://www.nabble.com/dynamic-sql-request-tp24850692p24850692.html >> Sent from the Camel - Users mailing list archive at Nabble.com. >> >> > > > > -- > Claus Ibsen > Apache Camel Committer > > Open Source Integration: http://fusesource.com > Blog: http://davsclaus.blogspot.com/ > Twitter: http://twitter.com/davsclaus >
Re: file processing, error handling
Hi I have created the ticket https://issues.apache.org/activemq/browse/CAMEL-1887 And I have just committed the feature to trunk so it should be there in 2.0 when its released. You can try it out by either - waiting for a SNAPSHOT to be build and published to apache maven repo - build from source See more at download and camel home page. The commit log http://svn.apache.org/viewvc?rev=801928&view=rev With unit tests demoing it On Fri, Aug 7, 2009 at 10:54 AM, Claus Ibsen wrote: > On Fri, Aug 7, 2009 at 10:44 AM, arhan wrote: >> >> Hi, >> >> >> I have a case where the files are being consumed from a directory (quite >> simple), processed, and backed up: >> >> public void configure() { >> String filesUri = "file:files" + >> >> "?move=files/backup/${file:name.noext}-${date:now:MMddHHmmssSSS}.xml"; >> >> from(filesUri) >> .process(new Processor() { >> public void process(Exchange exchange) throws Exception { >> //some processing done here >> } >> }) >> .to("log:mylogger?level=DEBUG"); >> } >> >> now, if the processing fails (some business logic issues), and the processor >> throws an exception, I'm required to rename the file to, adding an 'error' >> suffix. Here's what I did: >> >> public void configure() { >> String filesUri = "file:files" + >> >> "?move=files/backup/${file:name.noext}-${date:now:MMddHHmmssSSS}.xml"; >> >> onException(Exception.class).handled(true). >> >> to("file:files/error?fileName=${file:name.noext}-${date:now:MMddHHmmssSSS}.xml.error"). >> end(); >> >> from(filesUri) >> .process(new Processor() { >> public void process(Exchange exchange) throws Exception { >> exchange.setException(new Exception("could not process file ")); >> //throw new Exception("could not process file "); >> } >> }) >> .to("log:mylogger?level=DEBUG"); >> } >> >> >> Now the exception is being handled, and the file is renamed to >> 'file.xml.error', but the move expression still handles the file as if it >> was successfully handled, so that same copy of the file is now in >> files/backup and files/error directories. Could there be a way to move the >> failed files only once, without copying the failed file to files/backup? > > Hi > > Interesting use-case I guess we need to move expressions, one for > success and one for failure to give you full power. > > You can use onCompletion on your file route and then move the file > yourself as you got callbacks for onCompletion = OK, onFailure = ERROR > And set noop=true on the file endpoint instead of move option. > > But let me create a ticket for the moveFailure option, so we can try > to get it in 2.0 before it goes final. > I recall other have had similar use case before. > > > >> -- >> View this message in context: >> http://www.nabble.com/file-processing%2C-error-handling-tp24861063p24861063.html >> Sent from the Camel - Users mailing list archive at Nabble.com. >> >> > > > > -- > Claus Ibsen > Apache Camel Committer > > Open Source Integration: http://fusesource.com > Blog: http://davsclaus.blogspot.com/ > Twitter: http://twitter.com/davsclaus > -- Claus Ibsen Apache Camel Committer Open Source Integration: http://fusesource.com Blog: http://davsclaus.blogspot.com/ Twitter: http://twitter.com/davsclaus
Re: Camel Spring Remoting throwing RuntimeException question
Hi Claus I've created the JIRA issue 1888 with a patch and a test case for the problem with the Exception. For the problem with the camel-example-pojo-messaging where the camelLock files remain in the src/data dirctory on my machine. The steps as stated in readme.txt: call mvn compile camel:run --> files are delivered and *.camelLock are created in src/data --> Ctrl+C to terminate the camel:run --> I see shutdown messages for the camel context. delete the messages folder in target .. just to see if the messages are processed call mvn camel:run again --> the files are not processed. But in the output I can see that the FileConsumer prints Total 3 files to consume on DEBUG level, but nothing happens. My machine is running XP and I have tested with jre 1.5.0_16 and 1.6.0_14. -- View this message in context: http://www.nabble.com/Camel-Spring-Remoting-throwing-RuntimeException-question-tp24825646p24861894.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: file processing, error handling
On Fri, Aug 7, 2009 at 10:44 AM, arhan wrote: > > Hi, > > > I have a case where the files are being consumed from a directory (quite > simple), processed, and backed up: > > public void configure() { > String filesUri = "file:files" + > > "?move=files/backup/${file:name.noext}-${date:now:MMddHHmmssSSS}.xml"; > > from(filesUri) > .process(new Processor() { > public void process(Exchange exchange) throws Exception { > //some processing done here > } > }) > .to("log:mylogger?level=DEBUG"); > } > > now, if the processing fails (some business logic issues), and the processor > throws an exception, I'm required to rename the file to, adding an 'error' > suffix. Here's what I did: > > public void configure() { > String filesUri = "file:files" + > > "?move=files/backup/${file:name.noext}-${date:now:MMddHHmmssSSS}.xml"; > > onException(Exception.class).handled(true). > > to("file:files/error?fileName=${file:name.noext}-${date:now:MMddHHmmssSSS}.xml.error"). > end(); > > from(filesUri) > .process(new Processor() { > public void process(Exchange exchange) throws Exception { > exchange.setException(new Exception("could not process file ")); > //throw new Exception("could not process file "); > } > }) > .to("log:mylogger?level=DEBUG"); > } > > > Now the exception is being handled, and the file is renamed to > 'file.xml.error', but the move expression still handles the file as if it > was successfully handled, so that same copy of the file is now in > files/backup and files/error directories. Could there be a way to move the > failed files only once, without copying the failed file to files/backup? Hi Interesting use-case I guess we need to move expressions, one for success and one for failure to give you full power. You can use onCompletion on your file route and then move the file yourself as you got callbacks for onCompletion = OK, onFailure = ERROR And set noop=true on the file endpoint instead of move option. But let me create a ticket for the moveFailure option, so we can try to get it in 2.0 before it goes final. I recall other have had similar use case before. > -- > View this message in context: > http://www.nabble.com/file-processing%2C-error-handling-tp24861063p24861063.html > Sent from the Camel - Users mailing list archive at Nabble.com. > > -- Claus Ibsen Apache Camel Committer Open Source Integration: http://fusesource.com Blog: http://davsclaus.blogspot.com/ Twitter: http://twitter.com/davsclaus
Bridging between HTTP endpoints
Hi, in Camel 1.x you could write a simple HTTP bridge like this: CamelContext camelContext = new DefaultCamelContext(); camelContext.addRoutes(new RouteBuilder() { @Override public void configure() throws Exception { from("jetty:http://localhost:8435/path1";).to("http://localhost:8435/path2";); from("jetty:http://localhost:8435/path2";).transform().constant("OK"); } }); camelContext.start(); ProducerTemplate producerTemplate = camelContext.createProducerTemplate(); InputStream result = (InputStream) producerTemplate.requestBody("http://localhost:8435/path1";, "Hello"); assertEquals("OK", IOUtils.toString(result)); in Camel 2.0 this doesn't work anymore because the Exchange.HTTP_URI and Exchange.HTTP_PATH are set by the consumer that received the initial request. The HttpProducer that is called because of the to() then "thinks" those header properties were set to define the actual destination and sends the data to "/path1/path1", which leads to an error. You have to explicitly remove those properties from the exchange to make it work: from("jetty:http://localhost:8435/path1";) .removeHeader(Exchange.HTTP_URI) .removeHeader(Exchange.HTTP_PATH) .to("http://localhost:8435/path2";); I can't think of any use for this behavior and it is rather surprising. However, I understand that it might be a side effect that we have to live with because the header property names are now shared between the endpoints. Anyway, is this the way it is supposed to work now or is it worth to submit a bug report for this? Are there any other properties that should be removed to ensure that the to() really sends it to the destination it is supposed to? Thanks, Jens -- View this message in context: http://www.nabble.com/Bridging-between-HTTP-endpoints-tp24861191p24861191.html Sent from the Camel - Users mailing list archive at Nabble.com.
file processing, error handling
Hi, I have a case where the files are being consumed from a directory (quite simple), processed, and backed up: public void configure() { String filesUri = "file:files" + "?move=files/backup/${file:name.noext}-${date:now:MMddHHmmssSSS}.xml"; from(filesUri) .process(new Processor() { public void process(Exchange exchange) throws Exception { //some processing done here } }) .to("log:mylogger?level=DEBUG"); } now, if the processing fails (some business logic issues), and the processor throws an exception, I'm required to rename the file to, adding an 'error' suffix. Here's what I did: public void configure() { String filesUri = "file:files" + "?move=files/backup/${file:name.noext}-${date:now:MMddHHmmssSSS}.xml"; onException(Exception.class).handled(true). to("file:files/error?fileName=${file:name.noext}-${date:now:MMddHHmmssSSS}.xml.error"). end(); from(filesUri) .process(new Processor() { public void process(Exchange exchange) throws Exception { exchange.setException(new Exception("could not process file ")); //throw new Exception("could not process file "); } }) .to("log:mylogger?level=DEBUG"); } Now the exception is being handled, and the file is renamed to 'file.xml.error', but the move expression still handles the file as if it was successfully handled, so that same copy of the file is now in files/backup and files/error directories. Could there be a way to move the failed files only once, without copying the failed file to files/backup? -- View this message in context: http://www.nabble.com/file-processing%2C-error-handling-tp24861063p24861063.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: cxfEndpoint / ServiceMix / Offline
That fixed it! For those interested, my error was quite subtle. I originally had: http://camel.apache.org/schema/cxf/camel-cxf-1.6.1.xsd .. and it should have been: http://activemq.apache.org/camel/schema/cxfEndpoint/camel-cxf-1.6.0.xsd .. so that it was picked up in the classpath by the files that Claus mentioned. Cheers, Dan Claus Ibsen-2 wrote: > > On Fri, Aug 7, 2009 at 9:49 AM, Dan Salt wrote: >> >> Hi :) >> >> Thanks for the quick reply! >> >> My namespace is >> >> xmlns:cxf="http://activemq.apache.org/camel/schema/cxfEndpoint"; >> ... >> http://activemq.apache.org/camel/schema/cxfEndpoint >> http://camel.apache.org/schema/cxf/camel-cxf-1.6.1.xsd >> >> Which works fine when I have connectivity, but not otherwise. >> > > I suspect its missing in those spring metadata files that lists all > local xsd in the .jar. > > http\://activemq.apache.org/camel/schema/cxfEndpoint/camel-cxf-1.3.0.xsd=schema/cxfEndpoint.xsd > http\://activemq.apache.org/camel/schema/cxfEndpoint/camel-cxf-1.4.0.xsd=schema/cxfEndpoint.xsd > http\://activemq.apache.org/camel/schema/cxfEndpoint/camel-cxf-1.5.0.xsd=schema/cxfEndpoint.xsd > http\://activemq.apache.org/camel/schema/cxfEndpoint/camel-cxf-1.6.0.xsd=schema/cxfEndpoint.xsd > http\://activemq.apache.org/camel/schema/cxfEndpoint/camel-cxf-${pom.version}.xsd=schema/cxfEndpoint.xsd > > Maybe the release does not parse and insert version info to this file > so we got to do that manually. > > You can try using v1.6.0 instead to see if it works locally. eg just > try change the version in the xml file. > >> Cheers, >> Dan >> >> >> willem.jiang wrote: >>> >>> Hi , >>> >>> Can you show me the namespace and the xsd url that you use ? >>> It will help me to reproduce the error. >>> >>> Willem >>> >>> DanSalt wrote: Hi, I'm using Camel 1.6.1.0 inside Servicemix (packaged as Fuse 4.1.0.2), and for some reason my bundle won't start if I am NOT connected to the internet (or running on my company VPN, behind a firewall). When "offline", it barfs that it doesn't understand "cxf:cxfEndpoint", which is located in the XSD file camel-cxf-1.6.1.xsd. I always thought that the schema files were classpath'ed locally to avoid this - so what import am I missing? Or does it REALLY need an internet connection to avoid this? For now I have this file manually inserted in my project, which is not really preferable... I would try this in Camel 2.0 (which might have a fix), but this wont run inside Servicemix(Fuse ESB) at this time. Thanks in advance for the help. Cheers, Dan >>> >>> >>> >> >> -- >> View this message in context: >> http://www.nabble.com/cxfEndpoint---ServiceMix---Offline-tp24851209p24860418.html >> Sent from the Camel - Users mailing list archive at Nabble.com. >> >> > > > > -- > Claus Ibsen > Apache Camel Committer > > Open Source Integration: http://fusesource.com > Blog: http://davsclaus.blogspot.com/ > Twitter: http://twitter.com/davsclaus > > -- View this message in context: http://www.nabble.com/cxfEndpoint---ServiceMix---Offline-tp24851209p24860875.html Sent from the Camel - Users mailing list archive at Nabble.com.
Re: cxfEndpoint / ServiceMix / Offline
On Fri, Aug 7, 2009 at 9:49 AM, Dan Salt wrote: > > Hi :) > > Thanks for the quick reply! > > My namespace is > > xmlns:cxf="http://activemq.apache.org/camel/schema/cxfEndpoint"; > ... > http://activemq.apache.org/camel/schema/cxfEndpoint > http://camel.apache.org/schema/cxf/camel-cxf-1.6.1.xsd > > Which works fine when I have connectivity, but not otherwise. > I suspect its missing in those spring metadata files that lists all local xsd in the .jar. http\://activemq.apache.org/camel/schema/cxfEndpoint/camel-cxf-1.3.0.xsd=schema/cxfEndpoint.xsd http\://activemq.apache.org/camel/schema/cxfEndpoint/camel-cxf-1.4.0.xsd=schema/cxfEndpoint.xsd http\://activemq.apache.org/camel/schema/cxfEndpoint/camel-cxf-1.5.0.xsd=schema/cxfEndpoint.xsd http\://activemq.apache.org/camel/schema/cxfEndpoint/camel-cxf-1.6.0.xsd=schema/cxfEndpoint.xsd http\://activemq.apache.org/camel/schema/cxfEndpoint/camel-cxf-${pom.version}.xsd=schema/cxfEndpoint.xsd Maybe the release does not parse and insert version info to this file so we got to do that manually. You can try using v1.6.0 instead to see if it works locally. eg just try change the version in the xml file. > Cheers, > Dan > > > willem.jiang wrote: >> >> Hi , >> >> Can you show me the namespace and the xsd url that you use ? >> It will help me to reproduce the error. >> >> Willem >> >> DanSalt wrote: >>> Hi, >>> >>> I'm using Camel 1.6.1.0 inside Servicemix (packaged as Fuse 4.1.0.2), and >>> for some reason my bundle won't start if I am NOT connected to the >>> internet >>> (or running on my company VPN, behind a firewall). >>> >>> When "offline", it barfs that it doesn't understand "cxf:cxfEndpoint", >>> which >>> is located in the XSD file camel-cxf-1.6.1.xsd. >>> >>> I always thought that the schema files were classpath'ed locally to avoid >>> this - so what import am I missing? >>> >>> Or does it REALLY need an internet connection to avoid this? For now I >>> have >>> this file manually inserted in my project, which is not really >>> preferable... >>> >>> I would try this in Camel 2.0 (which might have a fix), but this wont run >>> inside Servicemix(Fuse ESB) at this time. >>> >>> Thanks in advance for the help. >>> >>> Cheers, >>> Dan >> >> >> > > -- > View this message in context: > http://www.nabble.com/cxfEndpoint---ServiceMix---Offline-tp24851209p24860418.html > Sent from the Camel - Users mailing list archive at Nabble.com. > > -- Claus Ibsen Apache Camel Committer Open Source Integration: http://fusesource.com Blog: http://davsclaus.blogspot.com/ Twitter: http://twitter.com/davsclaus
Re: cxfEndpoint / ServiceMix / Offline
Hi :) Thanks for the quick reply! My namespace is xmlns:cxf="http://activemq.apache.org/camel/schema/cxfEndpoint"; ... http://activemq.apache.org/camel/schema/cxfEndpoint http://camel.apache.org/schema/cxf/camel-cxf-1.6.1.xsd Which works fine when I have connectivity, but not otherwise. Cheers, Dan willem.jiang wrote: > > Hi , > > Can you show me the namespace and the xsd url that you use ? > It will help me to reproduce the error. > > Willem > > DanSalt wrote: >> Hi, >> >> I'm using Camel 1.6.1.0 inside Servicemix (packaged as Fuse 4.1.0.2), and >> for some reason my bundle won't start if I am NOT connected to the >> internet >> (or running on my company VPN, behind a firewall). >> >> When "offline", it barfs that it doesn't understand "cxf:cxfEndpoint", >> which >> is located in the XSD file camel-cxf-1.6.1.xsd. >> >> I always thought that the schema files were classpath'ed locally to avoid >> this - so what import am I missing? >> >> Or does it REALLY need an internet connection to avoid this? For now I >> have >> this file manually inserted in my project, which is not really >> preferable... >> >> I would try this in Camel 2.0 (which might have a fix), but this wont run >> inside Servicemix(Fuse ESB) at this time. >> >> Thanks in advance for the help. >> >> Cheers, >> Dan > > > -- View this message in context: http://www.nabble.com/cxfEndpoint---ServiceMix---Offline-tp24851209p24860418.html Sent from the Camel - Users mailing list archive at Nabble.com.