Re: Missing Stack Trace when Handling SOAP Fault from a CXF Endpoint

2011-04-07 Thread Willem.Jiang
Just a quick note for CXF server return the stack trace back to the client.
 If you are using SOAP 11 , CXF can put the stack trace into the fault
message if you enable the option faultStackTraceEnabled like this

   
 





I'm now working on CXF-3445 to make sure this feature can work with SOAP12.

[1]https://issues.apache.org/jira/browse/CXF-3445


--
View this message in context: 
http://camel.465427.n5.nabble.com/Missing-Stack-Trace-when-Handling-SOAP-Fault-from-a-CXF-Endpoint-tp3774168p4287903.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: FTP over Proxy

2011-04-07 Thread Charles Moulliard
Hi,

For sure that we are interested. Here is the page describing the process to
create a ticket + patch

http://camel.apache.org/contributing.html

Regards,

Charles Moulliard
Apache Committer

--
View this message in context: 
http://camel.465427.n5.nabble.com/FTP-over-Proxy-tp3314841p4288277.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: Resequencing on many individual topics (1000's)

2011-04-07 Thread Joshua Watkins
I have figure out a way to limit the number of threads per JMS consumer. I
needed to  use the JMSConfiguration pojo to configure my
ActiveMQComponent. The not-so-apparent change was changing the
consumerType to simple instead of default.

Hopefully this helps anyone else with the same issue.

-josh


On 31/03/2011 11:48, Joshua Watkins joshua.watk...@gamesys.co.uk wrote:

I have run into a bit of a pickle. I am trying to use camel and Activemq
to resequence messages off of thousands of individual topics. A
particular topic would have a sequence number in messages delivered to it
for that topic. Additionally, I don't know the specific topics to listen
to ahead of time. So, at run time I will dynamically need to listen to
NEWS.US.IDAHO.BOISE, or NEWS.EU.SPAIN.MADRID.

Unfortunately, since the resequencer can't work with multiple streams of
messages I can't simply subscribe to NEWS. or a subtopic. (This is a bit
undesirable anyway as I would potentially be getting messages that I am
not interested in.)

I have also tried simply creating a route dynamically with the specific
topic and its resequencer. This however led to thousands of threads being
created (1 thread for the JMS consumer and 2 threads for each
resequencer).

Then I thought it would be better to use mildly more specific routes
(NEWS.EU.SPAIN. ) and use a filter to funnel a particular stream of
messages to the resequencer. This ran into the problem of missing out on
messages to the topic while I was altering the route. Retroactive
consumer support doesn't seem to be supported in the Activemq component.
(And I am guessing that I was right to believe that routes must be
removed and re-added to the CamelContext to take effect.)

So, am I missing an easy solution for this?
Is there a way for me to pool JMS topic consumer threads somehow?
Can live camel routes be altered at runtime without them missing topic
messages?

Thanks,
Josh



global onException doesnt apply for routes loaded with loadRoutesDefinition

2011-04-07 Thread Joerg Wuelker MIS-OSN
Hi, 

i am using camel 2.6.0 and try to load additional camel routes from XML 
outside the SpringXML. 
In the spring-context-xml i create a camel context with a global route and 
a global onException-definition. 
In addition i have an RoutesBuilder which loads additional 
(customer-)routes from XML using CamelContext.loadRoutesDefinition(...). 
I would like the global onExeption-Definition to apply for the 
customer-routes, too, but this doesn't work. If i move the route from the 
separated xml-file to the Spring-XML everthing works fine. 
Is there something missing in the RoutesBuilder? Currently it looks like 
this: 

InputStream is = this.getClass().getResourceAsStream(file); 
RoutesDefinition routes = context.loadRoutesDefinition(is); 
routes.setErrorHandlerBuilder(context.getErrorHandlerBuilder()); // this 
doesn't change anything because context.getErrorHandlerBuilder() returns 
null 
context.addRouteDefinitions(routes.getRoutes()); 
 
Thanks, 
jwuelker

Using CamelJmsDestinationName to publish to topics in Xml

2011-04-07 Thread Joshua Watkins
I am trying to use the CamelJmsDestinationName header to send to a topic.
However prepending topic: or activemq:topic: to my topic name simply sends
reroutes the message to a queue with the name
activemq:topic:dynamicdestinationName.

Ex:
route
descriptiontest dynamicDeliveryAddress/description
from uri=activemq:queue:dynamicDelivery/
setHeader headerName=CamelJmsDestinationName 
constanttopic:dynamicdestinationName/constant
/setHeader
to uri=activemq:queue:didntWork /
/route

Is there a way for me to publish to a topic using the
CamelJmsDestinationName in xml?

Thanks,
-josh



Re: Using CamelJmsDestinationName to publish to topics in Xml

2011-04-07 Thread Björn Bength
Hi,

route
   descriptiontest dynamicDeliveryAddress/description
   from uri=activemq:queue:dynamicDelivery/
   setHeader headerName=CamelJmsDestinationName 
   constantdynamicdestinationName/constant
   /setHeader
   to uri=activemq:topic:dummy /
/route

worked for me once. but i was using java dsl at the time.

/björn


On Thu, Apr 7, 2011 at 2:25 PM, Joshua Watkins
joshua.watk...@gamesys.co.uk wrote:
 I am trying to use the CamelJmsDestinationName header to send to a topic.
 However prepending topic: or activemq:topic: to my topic name simply sends
 reroutes the message to a queue with the name
 activemq:topic:dynamicdestinationName.

 Ex:
 route
    descriptiontest dynamicDeliveryAddress/description
    from uri=activemq:queue:dynamicDelivery/
    setHeader headerName=CamelJmsDestinationName 
        constanttopic:dynamicdestinationName/constant
    /setHeader
    to uri=activemq:queue:didntWork /
 /route

 Is there a way for me to publish to a topic using the
 CamelJmsDestinationName in xml?

 Thanks,
 -josh




RE: JMS queue consumer hangs

2011-04-07 Thread Mike L .

Paul:

What version of ActiveMQ are you using? Using version 5.4.x I had a similar 
problem, which is described in this thread: 

http://camel.465427.n5.nabble.com/InOut-over-JMS-always-leads-to-Timout-ExchangeTimedOutException-td4237336.html

Try going back to 5.3.x or use the new 5.5.0!

HTH,

Mike L. (aka patzerbud)


 Date: Wed, 6 Apr 2011 04:37:46 -0700
 To: users@camel.apache.org
 Subject: Re: JMS queue consumer hangs
 
 Another note I would like to add is since the subsequent endpoints after the
 tcpDeliverer processor are slow. For example the processor that sends
 message via HTTP post may need to get a session from the remote HTTP server
 first and than send the message.
 
 I am using Camel version 2.5
 
 Thanks
 Paul 
 
 --
 View this message in context: 
 http://camel.465427.n5.nabble.com/JMS-queue-consumer-hangs-tp4286088p4286093.html
 Sent from the Camel - Users mailing list archive at Nabble.com.
  

Re: Using Apache Camel as replacement for cron-driven shell scripts

2011-04-07 Thread Arkadi Shishlov

It is perfectly reasonable and doable, please see comments inline.

On Thu, 07 Apr 2011 13:24:02 +0300, Andrey Popp 8may...@gmail.com wrote:

I'm wondering of the following setup:

  * Apache Camel running as daemon.


In our project we pack Camel with maven-shade-plugin into uber-jar and  
launch it under nohup java -jar.
I do not have an access to wiki, but I can send you pom.xml and custom  
Main.java, or publish it here for reference.


  * Ability to submit new routes' configuration from command line (as of  
CAMEL-1004
it seem Apache Camel is able to replace routes at runtime) as plain  
Java/Scala

code files.


Dynamic reconfiguration works. We start with from() and gradually build  
the route(s) based on database setup.
If you arrange a system to load Java code on demand, be it Java, Scala, or  
Groovy (to skip compile step), then:
1. instantiate a class that extends RouteBuilder and performs route  
construction in configure()

2. call camel.addRoute(builder)
3. done :)
We keep a started routes Map of String-List key-ed by database Id and  
shutdown old instances in front-to-back order [because our routes consists  
of multiple from() steps] via camel.stopRoute()+removeRoute().


  * Apache Camel should try to compile routes and in the case of success  
-- replace

current routes with the new ones.


The replace part could be tricky depending on your requirements. If you  
started a slightly different copy of the route, you may get duplicates or  
other undesirable behavior. But route definition should be tested before  
production somewhere else, so you can probably just shutdown old stuff  
before staring new one.


RE: JMS queue consumer hangs

2011-04-07 Thread paulvitic
Hello Mike,

I am indeed using 5.4.1 and I will take your advice and try to upgrade to
5.5.0.

However I think the problem may be something else. To see where exactly the
route is failing I changed my configuration a little bit:

===

from(gatewayQueue:queue:OUTGOING).inOnly()
.processRef(tcpDeliverer)
.choice()
.when(someCondition).to(seda:TCP)
.otherwise().choice()
.when(anotherCondition).to(seda:HTTPDeliverer)
.when(yetAnotherCondition).to(seda:SMPP)
.otherwise();

from(seda:SMPP).inOnly().to(smpp:smppConfiguration).processRef(finalProcessorToHandleSentMessage);

from(seda:HTTPDeliverer).inOnly().processRef(processorThatSendsMessageViaHTTPPost).processRef(finalProcessorToHandleSentMessage);

from(seda:TCP).inOnly().processRef(finalProcessorToHandleSentMessage);

==

This time I realized that the seda:TCP consumer is hanging but the while
this happens the JMS consumer kept on flowing. 

It turns out that there is some issue with the
finalProcessorToHandleSentMessage processor. This processor is trying to
put the message object into a cache and there seems to be some problems with
this operation. 

Nevertheless I am still a little confused as to why the consumer queues stop
consuming in such a situation since in all circumstances they are inOnly.


--
View this message in context: 
http://camel.465427.n5.nabble.com/JMS-queue-consumer-hangs-tp4286088p4288588.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: error in schema

2011-04-07 Thread Willem Jiang

Did you install the cxf feature?

You can still use the the broker namespace in http://pastie.org/1761075 
. the Eclipse error can be ignore, as the Spring can load the schema 
from the activemq-core jar.


If you want eclipse happy you should change to use
http://activemq.apache.org/schema/core/activemq-core-5.2.0.xsd
instead of
http://activemq.apache.org/schema/core/activemq-core.xsd

Willem


On 4/7/11 12:21 AM, dead_devil_66 wrote:

Thanks for answering. :)

Seems that the namespace issues are a recurring problem...

Now, as far as i can see, i have no errors declared in the xml files. *But*,
after installing in Fuse ESB, i got the same error message. This time, i
checked the log file.

This is the content:

http://pastie.org/1763870

These lines got up my attention:

16:50:55,492 | ERROR | ExtenderThread-7 | ContextLoaderListener
| 72 - org.springframework.osgi.extender - 1.2.0 | Application context
refresh failed (OsgiBundleXmlApplicationContext(bundle=null,
config=osgibundle:/META-INF/spring/*.xml))
org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
Configuration problem: Failed to import bean definitions from URL location
[classpath:*META-INF/cxf/cxf.xml*]
Offending resource: URL
[bundleentry://260.fwk2272087/META-INF/spring/camel-cxf.xml]; nested
exception is org.springframework.beans.factory.BeanDefinitionStoreException:
IOException parsing XML document from OSGi
resource[classpath:META-INF/cxf/cxf.xml|bnd.id=260|bnd.sym=null]; nested
exception is java.io.FileNotFoundException: OSGi
resource[classpath:META-INF/cxf/cxf.xml|bnd.id=260|bnd.sym=null] cannot be
resolved to URL because it does not exist

After reading this, i thought that by moving camel-cxf.xml to META-INF/cxf,
that i could solve this issue. Wrong! After doing that, this is the error i
got:

http://pastie.org/1763972


soo, what is happening now...?

--
View this message in context: 
http://camel.465427.n5.nabble.com/error-in-schema-tp4285364p4286673.html
Sent from the Camel - Users mailing list archive at Nabble.com.




--
Willem
--
FuseSource
Web: http://www.fusesource.com
Blog:http://willemjiang.blogspot.com (English)
 http://jnn.javaeye.com (Chinese)
Twitter: willemjiang

Connect at CamelOne May 24-26
The Open Source Integration Conference
http://camelone.com


Re: Using Apache Camel as replacement for cron-driven shell scripts

2011-04-07 Thread Andrey Popp
 In our project we pack Camel with maven-shade-plugin into uber-jar and launch 
 it under nohup java -jar.
 I do not have an access to wiki, but I can send you pom.xml and custom 
 Main.java, or publish it here for reference.

It would be great, thanks.

 The replace part could be tricky depending on your requirements. If you 
 started a slightly different copy of the route, you may get duplicates or 
 other undesirable behavior. But route definition should be tested before 
 production somewhere else, so you can probably just shutdown old stuff before 
 staring new one.

The main reason behind this requirement is to preserve ability of simple and 
quick modifications
of integration code as present in shell scripts, so the workflow is:

   $ ssh server
   $ vim ./MyRoutes.scala
   ... edit edit edit ...
   $ some-ctl-script submit-routes ./MyRoutes.scala
   Compiling routes...[OK]
   Shutdown old routes... [OK]
   Starting new routes... [OK]
   

Re: Using CamelJmsDestinationName to publish to topics in Xml

2011-04-07 Thread Joshua Watkins
That worked. Thanks!

On 07/04/2011 13:36, Björn Bength bjorn.ben...@gmail.com wrote:

Hi,

route
   descriptiontest dynamicDeliveryAddress/description
   from uri=activemq:queue:dynamicDelivery/
   setHeader headerName=CamelJmsDestinationName 
   constantdynamicdestinationName/constant
   /setHeader
   to uri=activemq:topic:dummy /
/route

worked for me once. but i was using java dsl at the time.

/björn


On Thu, Apr 7, 2011 at 2:25 PM, Joshua Watkins
joshua.watk...@gamesys.co.uk wrote:
 I am trying to use the CamelJmsDestinationName header to send to a
topic.
 However prepending topic: or activemq:topic: to my topic name simply
sends
 reroutes the message to a queue with the name
 activemq:topic:dynamicdestinationName.

 Ex:
 route
descriptiontest dynamicDeliveryAddress/description
from uri=activemq:queue:dynamicDelivery/
setHeader headerName=CamelJmsDestinationName 
constanttopic:dynamicdestinationName/constant
/setHeader
to uri=activemq:queue:didntWork /
 /route

 Is there a way for me to publish to a topic using the
 CamelJmsDestinationName in xml?

 Thanks,
 -josh





Sending via smtp fails after some time

2011-04-07 Thread Barry Kaplan
I am sending emails from a server. The emails get sent fine for some hours
(up to 24) but then I start getting exceptions that are ultimately:

  Caused by: javax.mail.AuthenticationFailedException: null

I am using the default javaMailSender and sending via gmail. The jvm is
started with Dmail.smtp.starttls.enable=true.

Any ideas what would cause gmail to accept the messages and then decide
later to reject the auth?

(camel 2.5.0)

thanks!


 (the #'s are substituted by the scala compiler)
---
  private lazy val smtpUri =
smtp://#{smtpHost}:#{smtpPort}?username=#{smtpUsername}password=#{smtpPassword}

  val msg = Alert for device '#{device.name}'. #{alert.description}.
  log.info(Sending notification: to=#toEmail, msg=#msg) 
  val headers = Map[String,Object](
To - toEmail,
From - supp...@vimana.us,
Subject - Device Alert: #device.name - #alert.definition.name)
  producerTemplate.sendBodyAndHeaders(smtpUri, msg, headers.asJava)


--
View this message in context: 
http://camel.465427.n5.nabble.com/Sending-via-smtp-fails-after-some-time-tp4288728p4288728.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: maven plugin

2011-04-07 Thread Mark Webb
I was using 2.6, but I tried 2.7 and its working fine.

Thanks,
Mark


On Thu, Apr 7, 2011 at 3:51 AM, Claus Ibsen claus.ib...@gmail.com wrote:
 Hi

 What version of Camel are you using?

 I have created a ticket to remove the DOT stuff
 https://issues.apache.org/jira/browse/CAMEL-3841



 On Mon, Apr 4, 2011 at 4:53 PM, Mark Webb elihusma...@gmail.com wrote:
 I am testing some routes and would like to create some sample routes
 to play with.  I am using maven to create these projects with the
 following command:

 mvn archetype:create -DgroupId=a.b.c.d -DartifactId=MyRouter
 -DarchetypeArtifactId=camel-router -DarchetypeGroupId=org.apache.camel

 This command works fine, I can run the command mvn package, and that
 runs fine.  I then try and run the command mvn camel:run and the
 command hangs, and this is the last line printed out:

 Apr 4, 2011 9:47:02 AM org.apache.camel.spring.Main generateDot
 INFO: Generating DOT file for routes:
 C:\temp\MyRouter\target/site/cameldoc for:
 org.apache.camel.spring.SpringCamelContext@622209db with name:
 camelContext

 Before running the command, I added in the following lines to the pom.xml 
 file:

 configuration
        useDotfalse/useDot
 /configuration

 I even tried to specify the path to dot.exe and got the same results.
 So is there any way I can run the camel route without running dot
 from maven?

 Thanks,
 Mark




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



Re: Does activemq/jms component have keepalive option?

2011-04-07 Thread Tom Howe
Hi,
Thanks for the pointer!  I have changed to use PooledConnectionFactory as
you suggest and it seems to work well now.

Here is my config: does it look sensible?


bean id=activemq class=org.apache.activemq.
camel.component.ActiveMQComponent
property name=transacted value=true/
property name=configuration ref=myConfigDelivery/
/bean


bean id=myConfigDelivery
class=org.apache.camel.component.jms.JmsConfiguration
property name=connectionFactory
ref=jmsConnectionFactoryDelivery/
property name=transactionManager
ref=jmsTransactionManagerDelivery/
property name=concurrentConsumers value=1/
property name=maxConcurrentConsumers value=1/
property name=transacted value=true/
/bean

bean id=jmsTransactionManagerDelivery
class=org.springframework.jms.connection.JmsTransactionManager
property name=connectionFactory
ref=jmsConnectionFactoryDelivery/
/bean

bean id=activeMqConnectionFactory
class=org.apache.activemq.ActiveMQConnectionFactory
property name=brokerURL value=${broker.url}/
property name=redeliveryPolicy ref=redeliveryPolicyDelivery/
/bean

bean id=jmsConnectionFactoryDelivery class=org.apache.activemq.pool.
PooledConnectionFactory
property name=connectionFactory ref=activeMqConnectionFactory/
/bean

bean id=redeliveryPolicyDelivery
class=org.apache.activemq.RedeliveryPolicy
property name=maximumRedeliveries value=100/
property name=useExponentialBackOff value=true/
property name=backOffMultiplier value=5/
/bean


On Tue, Apr 5, 2011 at 10:47 AM, James Strachan ja...@fusesource.comwrote:

 If you don't set any ConnectionFactory on the ActiveMQ component, you
 should have pooling setup correctly which should pool a single
 connection. e.g. just set the brokerURL property on the ActiveMQ
 component.

 Whats your spring XML look like?

 On 4 April 2011 16:54, Tom Howe tomh...@artcore.com wrote:
  I have a simple route that goes
 
  from(file:/some/path).to(activemq:some/queue);
 
  From truss and activeMq admin page, I notice that it is constantly
  connecting/closing the connections.
 
  Is there a way to make the endpoint retain a connection to make it more
  efficient?
 
  Thanks, Tom
 



 --
 James
 ---
 FuseSource
 Email: ja...@fusesource.com
 Web: http://fusesource.com
 Twitter: jstrachan, fusenews
 Blog: http://macstrac.blogspot.com/

 Connect at CamelOne May 24-26
 The Open Source Integration Conference
 http://camelone.com/



Low Latency

2011-04-07 Thread fridlyos
Hello

I'm fairly new to Camel, and hoping I can get some insights into this...

I'm need to design and system, which has as low latency as I can.  I still
would like to leverage Camel, but not sure

1. How camel rout is initialized, that is - now frequently it's checking for
messages?
2. Using JMS - is this a poll, or the route is triggered immediately once
the message is posted on the initial JMS Queue (THIS IS THE MAIN CONCERN - I
understand SEDA vs DIRECT further down the route).

I guess, this is mainly related to JMS component.  Also, this is not a total
throughput issue, which can be addressed with different caching strategies.


Has anyone had to do something similar or researched similar issues?


I'd greatly appreciate any suggestions


Thanks

--
View this message in context: 
http://camel.465427.n5.nabble.com/Low-Latency-tp4288799p4288799.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: Using Apache Camel as replacement for cron-driven shell scripts

2011-04-07 Thread Arkadi Shishlov

On Thu, 07 Apr 2011 17:06:58 +0300, Andrey Popp 8may...@gmail.com wrote:
In our project we pack Camel with maven-shade-plugin into uber-jar and  
launch it under nohup java -jar.
I do not have an access to wiki, but I can send you pom.xml and custom  
Main.java, or publish it here for reference.


It would be great, thanks.


Attached.
I used custom Main to provide my own Spring config path outside of Maven  
and to initialize log4j.

But you can also use org.apache.camel.spring.Main.

Can we have these files added to
http://camel.apache.org/how-do-i-use-a-big-uber-jar.html
instead of Jira ticket reference?profile
idstandalone/id
build
plugins
plugin
groupIdorg.apache.maven.plugins/groupId
artifactIdmaven-resources-plugin/artifactId
version2.4.3/version
executions
execution
idwebapp-resources-for-standalone/id
phasevalidate/phase
goals
goalcopy-resources/goal
/goals
configuration

outputDirectorytarget/classes/META-INF/outputDirectory
resources
resource

directorysrc/main/webapp/WEB-INF/directory
includes

includeapplicationContext.xml/include
includehibernateConfig.xml/include
/includes
filteringtrue/filtering
/resource
/resources
/configuration
/execution
/executions
/plugin
plugin
groupIdorg.apache.camel/groupId
artifactIdcamel-maven-plugin/artifactId
configuration

applicationContextUriMETA-INF/applicationContext.xml/applicationContextUri
/configuration
/plugin
plugin
groupIdorg.apache.maven.plugins/groupId
artifactIdmaven-shade-plugin/artifactId
version1.4/version
executions
execution
phasepackage/phase
goals
goalshade/goal
/goals
configuration
artifactSet
excludes
excludeorg.jboss.seam:jboss-seam/exclude
/excludes
/artifactSet
transformers
transformer 
implementation=org.apache.maven.plugins.shade.resource.ManifestResourceTransformer
manifestEntries
Main-Classcom.domain.Main/Main-Class

Specification-VendorVendor/Specification-Vendor

Implementation-VendorVendor/Implementation-Vendor
/manifestEntries
/transformer
transformer 
implementation=org.apache.maven.plugins.shade.resource.AppendingTransformer

resourceMETA-INF/spring.handlers/resource
/transformer
transformer 
implementation=org.apache.maven.plugins.shade.resource.AppendingTransformer
resourceMETA-INF/spring.schemas/resource
/transformer
transformer 
implementation=org.apache.maven.plugins.shade.resource.AppendingTransformer

resourceMETA-INF/services/org/apache/camel/TypeConverter/resource
/transformer
transformer 
implementation=org.apache.maven.plugins.shade.resource.ServicesResourceTransformer/

transformer 
implementation=org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer
resourceMETA-INF/BCKEY.SF/resource
/transformer
transformer 
implementation=org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer
resourceMETA-INF/BCKEY.DSA/resource
/transformer
transformer 
implementation=org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer


Best Practice fro Thread Safe processor

2011-04-07 Thread pminearo
I am fairly new to Camel and had a question about what are the best practices
for using Threads in Camel Routes.  I have Camel in Action which is a great
book; but when it came to Threading the book only showed how to configure
Camel.  It did not go into what happens behind the scenese. It also doesn't
talk about what needs to happen with Processors, etc.  I am hoping to get a
little more detail in this Topic.

Camel Route Example:
Spring Configuration
?xml version=1.0 encoding=UTF-8?

























RouteBuilder:

public class SomeRouteBuilder extends RouteBuilder {

private String fromQueue;
private String toQueue;
private Processor somProcessor; 
private ExecutorService threadPool;


public String getFromQueue() {
return fromQueue;
}

public void setFromQueue(String fromQueue) {
this.fromQueue = fromQueue;
}

public String getToQueue() {
return toQueue;
}

public void setToQueue(String toQueue) {
this.toQueue = toQueue;
}

public Processor getSomeProcessor() {
return someProcessor;
}

public void setSomeProcessor(Processor someProcessor) {
this.someProcessor = someProcessor;
}


@Override
public void configure() throws Exception {
ThreadPoolBuilder builder = new ThreadPoolBuilder(getContext());
   
setThreadPool(builder.poolSize(1).maxPoolSize(10).maxQueueSize(100).build(somePool));
   
from(getFromQueue()).threads().executorService(getThreadPool()).process(getSomeProcessor()).to(getToQueue());
}

}


Processor:

public class SomeProcessor implements Processor {

@Override
public void process(Exchange exchange) throws Exception {
SomeClass someClassFromExchange = 
(SomeClass)exchange.getIn().getBody();
SomeClass someClassFromDb = lookupClassById(someClass.getId());
compareAndUpdate(someClassFromExchange, someClassFromDb);
}

private SomeClass lookupClassById(String id) {
// Do a DB Lookup
}

private void compareAndUpdate(SomeClass someClassFromExchange, SomeClass
someClassFromDb) {
// Do some sort of comparison, and update 
'someClassFromExchange'
}

}


From what I understand about Threading and Camel, there will be one instance
of the Processor used between the Threads.  This forces the Processor to use
Thread Safe Classes/Techniques.  I saw there was a ThreadProcessor object;
should this be extended? 

Does the same Threading rules apply to a RouteBuilder configured using the
Spring DSL?

?xml version=1.0 encoding=UTF-8?



























In order to avoid Threading problems:
What if you wanted a separate instance of the Processor created for each
Thread?
Would it be best to not do any Threading at this time, but to create
separate Camel Contexts in separate JVMs?  
If so, what if Camel lives within a Servlet Container.  I have noticed that
even though there are separate deployed WebApps (using Tomcat 7); the Camel
Context IDs must be unique between the WebApps.

What are some of the best practices for Threading Camel Routes to maximize
throughput?

Thanks,

Peter

--
View this message in context: 
http://camel.465427.n5.nabble.com/Best-Practice-fro-Thread-Safe-processor-tp4288973p4288973.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Difference between camel-activemq (1.1.0) and activemq-camel (5.2.0) libraries

2011-04-07 Thread Gert Villemos
What is the difference between the 

* Camel-Activemq (1.1.0)
* Activemq-Camel (5.2.0)

Libraries? 

Is the 'Camel-Activemq' library simply an old deprecated version no longer
used? And should I always use 'Activemq-Camel'? Or is there a subtle
difference?


--
View this message in context: 
http://camel.465427.n5.nabble.com/Difference-between-camel-activemq-1-1-0-and-activemq-camel-5-2-0-libraries-tp4289122p4289122.html
Sent from the Camel - Users mailing list archive at Nabble.com.


'Class not found' when Creating Camel route through Activemq console

2011-04-07 Thread Gert Villemos
I post this here and not in the activemq forum, as its a Camel route that
courses the problem.

In our setup I have Camel routes configured to inject to / read from a
activemq topic called 'Parameters'. Each message in the body contains a POJO
of type 'org.hbird.exchange.type.Parameter'. I have no problems with this
from my Camel routes.

But when I use the Activemq console to create a new test route as shown
below, it fails;

?xml version=1.0 encoding=UTF-8 standalone=yes?

This is an example route.




The topic is not created. Looking at the activemq log, I see the error
messages below repeated fro each message;

2011-04-07 20:44:35,603 | WARN  | Execution of JMS message listener failed,
and no ErrorHandler has been set. |
org.springframework.jms.listener.DefaultMessageListenerContainer |
DefaultMessageListenerContainer-1
org.apache.camel.RuntimeCamelException: Failed to extract body due to:
javax.jms.JMSException: Failed to build body from content. Serializable
class not available to broker. Reason: java.lang.ClassNotFoundException:
org.hbird.business.simpleparametersimulator.ConstantParameter. Message:
ActiveMQObjectMessage {commandId = 8299, responseRequired = true, messageId
= ID:DE-L071208-50054-1302201283142-0:4:8:1:1035, originalDestination =
null, originalTransactionId = null, producerId =
ID:DE-L071208-50054-1302201283142-0:4:8:1, destination = topic://Parameters,
transactionId = null, expiration = 0, timestamp = 1302201875305, arrival =
0, brokerInTime = 1302201875305, brokerOutTime = 1302201875305,
correlationId = null, replyTo = null, persistent = true, type = null,
priority = 4, groupID = null, groupSequence = 0, targetConsumerId = null,
compressed = false, userID = null, content =
org.apache.activemq.util.ByteSequence@70c64bc2, marshalledProperties =
org.apache.activemq.util.ByteSequence@6a97e765, dataStructure = null,
redeliveryCounter = 0, size = 2093, properties = {timestamp=1302201278281,
unit=State, description=The State of the Payload. '1' means enabled. '0'
means disabled., name=Payload State,
logger=org.apache.log4j.Logger@48dbb335, value=1.0,
serialVersionUID=-5803219773253020746,
objectid=1f530039-9c06-45a5-8841-23bd6358150e, clazz=java.lang.Double,
firedTime=Thu Apr 07 20:44:35 CEST 2011, datasetidentifier=0},
readOnlyProperties = true, readOnlyBody = true, droppable = false}
at
org.apache.camel.component.jms.JmsBinding.extractBodyFromJms(JmsBinding.java:158)
at
org.apache.camel.component.jms.JmsMessage.createBody(JmsMessage.java:183)
at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:42)
at org.apache.camel.impl.DefaultUnitOfWork.(DefaultUnitOfWork.java:65)
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:90)
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70)
at
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:91)
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:85)
at
org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:85)
at
org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:560)
at
org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:498)
at
org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467)
at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323)
at
org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1056)
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1048)
at
org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
at java.lang.Thread.run(Thread.java:662)
Caused by: javax.jms.JMSException: Failed to build body from content.
Serializable class not available to broker. Reason:
java.lang.ClassNotFoundException:
org.hbird.business.simpleparametersimulator.ConstantParameter
at

Has camel-jboss6 been added to Camal Extras yet?

2011-04-07 Thread rtmacphail
In reference to issue tracker #CAMEL-3825, I am trying to get a copy of the
camel-jboss6 jar so I can use camel with JBoss 6. I downloaded the jar file
attached to this issue, but it contains no class files. I've been looking on
the the camel extra site at:
http://camel-extra.googlecode.com/svn/maven2/releases, but there's nothing
up there yet. Is there anywhere I can get this library from?

(I'm using Camel version 2.6.0)

--
View this message in context: 
http://camel.465427.n5.nabble.com/Has-camel-jboss6-been-added-to-Camal-Extras-yet-tp4289222p4289222.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: processor generating multiple messages

2011-04-07 Thread Hadrian Zbarcea
That is correct. But nothing stops you from creating new exchanges and 
aggregate results later on. You can also use some sort of correlation id (query 
id) so you'll know that different exchanges refer to the same query. You can 
also enforce ordering if you want. You can also use multiple routes (i.e. your 
processor can send the new exchanges down a different path, aggregate results 
and then send the result (once) down the original route to continue processing. 
That may appear as a limitation, but it's not really. You only need to 
understand the camel model and how to use it.

Cheers,
Hadrian 


On Apr 7, 2011, at 12:13 PM, Mark Webb wrote:

 I have a database that I need to query and put the results through a
 camel route.  The query will result in hundreds of thousands of rows.
 My query will return 1000 rows at a time and pass them through the
 route.
 
 So I want to know how I can build a processor that can perform the
 query multiple times, and place each 1000 rows in a new exchange and
 send to the next processor in the route.  From what I have found, a
 processor can only 'send' an Exchange out once.
 
 Thanks,
 Mark



Re: Difference between camel-activemq (1.1.0) and activemq-camel (5.2.0) libraries

2011-04-07 Thread Bruno Borges
Exactly.

Always choose ActiveMQ-Camel.

It is the component written and maintained by the ActiveMQ team themselves.


Bruno Borges
www.brunoborges.com.br
+55 21 76727099

The glory of great men should always be
measured by the means they have used to
acquire it.
 - Francois de La Rochefoucauld



On Thu, Apr 7, 2011 at 3:09 PM, Gert Villemos gville...@yahoo.de wrote:

 What is the difference between the

 * Camel-Activemq (1.1.0)
 * Activemq-Camel (5.2.0)

 Libraries?

 Is the 'Camel-Activemq' library simply an old deprecated version no longer
 used? And should I always use 'Activemq-Camel'? Or is there a subtle
 difference?


 --
 View this message in context:
 http://camel.465427.n5.nabble.com/Difference-between-camel-activemq-1-1-0-and-activemq-camel-5-2-0-libraries-tp4289122p4289122.html
 Sent from the Camel - Users mailing list archive at Nabble.com.



Re: processor generating multiple messages

2011-04-07 Thread ben.oday
as suggested...multiple exchanges are necessary.  just use a timer to
periodically kickoff the route to check the database, add results to the
exchange, split the results (if desired) and send them along...something
along these lines

from(timer://processResults?fixedRate=trueperiod=1)
.process(new Processor() {
public void process(Exchange exch) throws Exception {
//query the database (mock for now)
List results = new ArrayList();
for(int i=0; i10; i++) {
results.add((int)(Math.random() * 100));
}
exch.getIn().setBody(results);
}
})
.split().body().to(log:results);



-
Ben O'Day
IT Consultant -http://benoday.blogspot.com

--
View this message in context: 
http://camel.465427.n5.nabble.com/processor-generating-multiple-messages-tp4288897p4289374.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: Using Apache Camel as replacement for cron-driven shell scripts

2011-04-07 Thread Arkadi Shishlov
On Thu, 07 Apr 2011 16:50:52 +0300, Claus Straube  
claus.stra...@catify.com wrote:

On 07.04.2011 15:33, Arkadi Shishlov wrote:
On Thu, 07 Apr 2011 13:24:02 +0300, Andrey Popp 8may...@gmail.com  
wrote:
* Apache Camel should try to compile routes and in the case of success  
-- replace

  current routes with the new ones.


The replace part could be tricky depending on your requirements. If you  
started a slightly different copy of the route, you may get duplicates  
or other undesirable behavior. But route definition should be tested  
before production somewhere else, so you can probably just shutdown old  
stuff before staring new one.


The last point is no issue, if you use the same route id. So this test  
works:


Interesting point. Is it documented somewhere what _exactly_ happens when  
same route name is assigned via routeId()?
For example, if there is an empty multicast() list (due to a bug) in new  
route, what happens to the old one?


Still, in case application logical route consists of multiple from(),  
some sort of accounting is required to shutdown unused parts.

There is Camel web-console. Time for Camel shell? :)


Re: Best Practice fro Thread Safe processor

2011-04-07 Thread pminearo
Just to clarify a bit because maybe the Processor doesn't show it well nor my
question:  Java Concurrency in Practice states that Stateless objects are
always thread-safe.  But what happens when you do have state?  What is
everyone finding works best for Threading?


--
View this message in context: 
http://camel.465427.n5.nabble.com/Best-Practice-fro-Thread-Safe-processor-tp4288973p4289404.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: Best Practice fro Thread Safe processor

2011-04-07 Thread Krsmanovic, Dragisa
Processors are singletons.

Typically we don't hold any state in them.

If you want to hold state in Processor, you can do it. In that case, of
course, you have to think of concurrency. There are many ways to that as
you can find in Java Concurrency in Practice. It's all up to you.


On 4/7/11 1:40 PM, pminearo pmine...@reardencommerce.com wrote:

Just to clarify a bit because maybe the Processor doesn't show it well
nor my
question:  Java Concurrency in Practice states that Stateless objects are
always thread-safe.  But what happens when you do have state?  What is
everyone finding works best for Threading?


--
View this message in context:
http://camel.465427.n5.nabble.com/Best-Practice-fro-Thread-Safe-processor-
tp4288973p4289404.html
Sent from the Camel - Users mailing list archive at Nabble.com.



Re: Best Practice fro Thread Safe processor

2011-04-07 Thread pminearo
So, essentially you MUST create the Processor to be Thread Safe.  Is there
any way to create a New Instance of the Processor per Thread?  

--
View this message in context: 
http://camel.465427.n5.nabble.com/Best-Practice-fro-Thread-Safe-processor-tp4288973p4289705.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: Best Practice fro Thread Safe processor

2011-04-07 Thread Krsmanovic, Dragisa
Using ThreadLocal to store the state perhaps ?

On 4/7/11 4:44 PM, pminearo pmine...@reardencommerce.com wrote:

So, essentially you MUST create the Processor to be Thread Safe.  Is there
any way to create a New Instance of the Processor per Thread?

--
View this message in context:
http://camel.465427.n5.nabble.com/Best-Practice-fro-Thread-Safe-processor-
tp4288973p4289705.html
Sent from the Camel - Users mailing list archive at Nabble.com.



Re: Difference between camel-activemq (1.1.0) and activemq-camel (5.2.0) libraries

2011-04-07 Thread Hadrian Zbarcea
Yes, there is a subtle difference:
1. 
http://activemq.apache.org/how-should-i-package-applications-using-camel-and-activemq.html
[...] you may wish to use Camel's Enterprise Integration Patterns *inside* the 
ActiveMQ Broker [...]

2. http://camel.apache.org/activemq.html
   http://camel.apache.org/jms.html
The [Camel] ActiveMQ component allows messages to be sent to a JMS Queue or 
Topic or messages to be consumed from a JMS Queue or Topic using Apache 
ActiveMQ - i.e. outside the broker.

I hope that helps,
Hadrian

On Apr 7, 2011, at 2:09 PM, Gert Villemos wrote:

 What is the difference between the 
 
 * Camel-Activemq (1.1.0)
 * Activemq-Camel (5.2.0)
 
 Libraries? 
 
 Is the 'Camel-Activemq' library simply an old deprecated version no longer
 used? And should I always use 'Activemq-Camel'? Or is there a subtle
 difference?
 
 
 --
 View this message in context: 
 http://camel.465427.n5.nabble.com/Difference-between-camel-activemq-1-1-0-and-activemq-camel-5-2-0-libraries-tp4289122p4289122.html
 Sent from the Camel - Users mailing list archive at Nabble.com.



Re: Low Latency

2011-04-07 Thread ben.oday
I had similar concerns from a client in the past and wrote this simple unit
test to get a feel for how quickly Camel can add/remove from a queue.  This
should give you a ballpark latency estimate (~5ms for my setup).  You can
also get some great AMQ performance stats via 
http://activemq.apache.org/jmx.html JMX  to monitor an active system...

However, results will vary dramatically depending on thread and AMQ
performance/QoS configurations...refer to the 
http://activemq.apache.org/performance.html AMQ performance page  and the 
http://camel.apache.org/jms.html camel-jms page  for more information...

import java.util.concurrent.*;
import javax.jms.ConnectionFactory;
import org.apache.activemq.ActiveMQConnectionFactory;
import org.apache.camel.*;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jms.JmsComponent;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.junit4.CamelTestSupport;
import org.apache.log4j.Logger;
import org.junit.Test;

public class AMQRouteTest extends CamelTestSupport {

private static final Logger logger =
Logger.getLogger(AMQRouteTest.class.getName());

@EndpointInject(uri = mock:mock)
protected MockEndpoint mock;

protected CamelContext createCamelContext() throws Exception {
CamelContext camelContext = super.createCamelContext();
String url =
vm://test-broker?broker.persistent=falsebroker.useJmx=false;
ConnectionFactory connectionFactory = new
ActiveMQConnectionFactory(url);
camelContext.addComponent(activemq,
JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));
return camelContext;
}

@Test
public void test() throws Exception {
int messageCnt = 1, poolSize = 5;
mock.setMinimumExpectedMessageCount(messageCnt);

ExecutorService executor = Executors.newFixedThreadPool(poolSize);
for (int i = 0; i  messageCnt; i++) {
executor.submit(new Callable() {
public Object call() throws Exception {
   
template.sendBody(activemq:queue:test,System.currentTimeMillis());
return null;
}
});
}
mock.assertIsSatisfied();
}

@Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
@Override
public void configure() throws Exception {


from(activemq:queue:test?concurrentConsumers=10)
.process(new Processor() {
long totalLatency, msgCnt;
public void process(Exchange exch) 
throws Exception {
totalLatency += 
(System.currentTimeMillis() -
exch.getIn().getBody(Long.class));
if(++msgCnt % 1000 == 0) {

logger.info(avgLatency= + (totalLatency/msgCnt));
}
}
})
.to(mock:mock);
}
};
}
}


fridlyos wrote:
 
 1. How camel rout is initialized, that is - now frequently it's checking
 for messages?
 2. Using JMS - is this a poll, or the route is triggered immediately once
 the message is posted on the initial JMS Queue (THIS IS THE MAIN CONCERN -
 I understand SEDA vs DIRECT further down the route).
 
 Has anyone had to do something similar or researched similar issues?
 


-
Ben O'Day
IT Consultant -http://benoday.blogspot.com

--
View this message in context: 
http://camel.465427.n5.nabble.com/Low-Latency-tp4288799p4290010.html
Sent from the Camel - Users mailing list archive at Nabble.com.


onexception behavior change from 2.5 to 2.6

2011-04-07 Thread sanjai
Hello all,

There seems to have been some change in the way onexception behaves from 2.5
to 2.6 an onwards.  I believe the behaviour in 2.5 was correct.  I have
onexception set up as follows (in spring):



java.net.SocketTimeoutException
java.net.SocketException





true





I am basically attempting to call a web service.  If the web service is not
available, I retry several times.  If the web service is still not reachable
I give up and do some logging in handleFailedMessages.   If a retry is
successful, however, the handleFailedMessages should not be called and the
route should continue from where the exception originally occurred.  This is
how it worked in 2.5. This does not happen however in 2.6.  In 2.6 (and 2.7)
when retrying fails, handleFailedMessages is called and the route does not
continue.  The book Camel in Action states that 2.5 is the correct
behaviour.

Was a bug introduced in 2.6, or am I missing something?

Thanks for all your help.

--
View this message in context: 
http://camel.465427.n5.nabble.com/onexception-behavior-change-from-2-5-to-2-6-tp4290040p4290040.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: onexception behavior change from 2.5 to 2.6

2011-04-07 Thread sanjai
A little more on this.  The behaviour is not quite as my original post
describes.  I have another onexception clause which picks up all other
exceptions as shown at the end of this post.   It turns out that when
redelivery fails from the previous on exception clause,  Camel thows a
CamelException which is handled by this cluase.  Again,this did not happen
in 2.5. The stack trace is as follows:

at
org.apache.camel.processor.interceptor.HandleFaultInterceptor.handleFault(HandleFaultInterceptor.java:69)
at
org.apache.camel.processor.interceptor.HandleFaultInterceptor$1.done(HandleFaultInterceptor.java:46)
at
org.apache.camel.management.InstrumentationProcessor$1.done(InstrumentationProcessor.java:78)
at
org.apache.camel.component.cxf.CxfClientCallback.handleResponse(CxfClientCallback.java:63)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:776)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2335)
at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:2198)
at
org.apache.cxf.workqueue.AutomaticWorkQueueImpl$2.run(AutomaticWorkQueueImpl.java:253)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)


 


java.lang.Exception






false






--
View this message in context: 
http://camel.465427.n5.nabble.com/onexception-behavior-change-from-2-5-to-2-6-tp4290040p4290054.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: Best Practice fro Thread Safe processor

2011-04-07 Thread Willem.Jiang
As Camel has a async process module, you can't know if the processors are
called in a single thread.
If you are using the thread local to store the states, it may be massed up.

My suggestion is store the states information into the Exchange,  and Camel
will make sure it is processed rightly.

Willem

--
View this message in context: 
http://camel.465427.n5.nabble.com/Best-Practice-fro-Thread-Safe-processor-tp4288973p4290075.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: addTypeConverter does not clear misses in BaseTypeConverterRegistry

2011-04-07 Thread Willem.Jiang
Hi ,

Good catch of the issue of misses map. We should updated if a new
TypeConverter is added. Please feel free to create a JIRA for it, We love
the contribution :)


Can you give me more detail about the webstart issue of the 
AnnotationTypeConverterLoader?
What kind of error that you web start client faced, and why suppress the
usage of AnnotationTypeConverterLoader can make it work ?



Willem 

Andreas Kuhtz wrote:
 
 Hello,
 
 I was playing around with adding type converters after the context was
 started. In my tests I tried to convert an object without any type
 converter available (returns null which is fine). After that I added a
 matching type converter (manually) and run the conversion again. Because
 addTypeConverter does not clear misses map in BaseTypeConverterRegistry
 subsequent conversions fail.
 I think the misses map in BaseTypeConverterRegistry should remove the key
 if a matching type converter is added.
 
 
 My second problem is that it's currently not possible to start camel
 without the AnnotationTypeConverterLoader added. In case of a webstart
 based client application this causes startup errors that prevents using
 camel. 
 I added an attribute to suppress the usage of
 AnnotationTypeConverterLoader in my local sources and I've prepared a
 patch for this problem and the problem described above with test case.
 
 Should I create a JIRA issue?
 
  http://camel.465427.n5.nabble.com/file/n4288871/patch-camel.diff
 patch-camel.diff 
 
 Cheers 
 Andi
 

--
View this message in context: 
http://camel.465427.n5.nabble.com/addTypeConverter-does-not-clear-misses-in-BaseTypeConverterRegistry-tp4288871p4290078.html
Sent from the Camel - Users mailing list archive at Nabble.com.