Hello,
I had some doubts so I thought the forum is the best way to get some
answers.
1) Since I am using XML DSL earlier Java DSL.
I have a Bean defined like below. Currently the Constructor is passed.
But How do I make it dynamic i.e. decide based on the route which argument
to pass. Do I need to make always different bean entry for each argument to
pass.
<bean id="CustomProcessorDB"
class="com.worldline.frida.camel.core.CustomProcessor">
<constructor-arg value="DB"/>
</bean>
In java I could write process(new CustomProcessor(CustomConstants.CSV))
Can I do the same in XML.
2) Threading :- If I have declared a Bean as above and if I use it in a
SPLIT in Parallel processing mode using a Thread profile. Will Camel also
create a Pool of the bean and pass it for each thread. i.e. if my Pool size
is 5 will camel create 5 instance of the bean class and use it in the
processing automatically. I want to know if it will be thread safe for
each bean object.
3) Database component :- If i am getting billions of data from a DB using
a timer component consumer is there any feature that I can mark some column
with some flag stating it has been processed .
I saw in the SQL Component there are some option like consumer.onConsume
etc. but is there something similar in JDBC component . Other approach is
to move some records to a temporary table and use that but still some flag
has to be done on the Original table which is being updated every moment.
4) Performance :- Is keeping a separate Camelcontext for each route a best
approach, or only if there a lot of traffic of messages then you should
consider separation.
How does camel work incase if you host multiple camelcontext on same
machine and same JVM,
Rgds
Felix