We currently have a process in which we have Camel routes deployed into
ServiceMix. There are routes to monitor SAN locations and when a file
arrives, move it and place a message on a queue. 

We have a route with producer/consumer templates that first perform a check
to see if the local server is capable of handling more work. If so, the
consumer takes the message and off the queue and the producer places a
message on the appropriate queue to start the next step.

This process works great on a single server but we would like to scale it to
multiple servers so that we can process more files at the same time.

What we have done so far is to reproduce this same environment on two
machines and configured ActiveMQ within ServiceMix to work as a master/slave
using the shared file system.

This seems to be working but I am not sure ServiceMix and/or ActiveMQ is
configured correctly.
1) in the ServiceMix system.properties file there is a property activemq.url
this does not accept the ActiveMQ "failover" url syntax

2) every 10 seconds we get an INFO message that the kahadb file is locked(I
believe this is normal behavior but adds a bit of noise to our log)

3) eventually I start seeing the following message "Setup of JMS message
listener invoker failed for destination 'FLMP.Notifications' - trying to
recover. Cause: PageFile is not loaded"

4) finally we eventually run out of memory with the message "13:16:55,808 |
ERROR | mix\4.5.1/deploy | fileinstall                      | 7 -
org.apache.felix.fileinstall - 3.2.4 | In main loop, we have serious
trouble"

So, I am wondering:
1) how can I setup ServiceMix so that two instances share the ActiveMQ
queues? Or how can I cluster multiple ServiceMix instances so that I can
scale by adding new instances?
    I really have looked around a lot but have not found anything that
clearly covers this.

2) I have played with the master/slave shared file system configuration of
ActiveMQ and I think I have seen it working. Would it be wiser to add
separate ActiveMQ instance(s) to the mix? Allowing ServiceMix to continue to
use it's internal ActiveMQ untouched and configure our routes to use the
external?

Thanks for any advice you can give.

tim

P.S.
We are using:
ServiceMix 4.5.2 with -Xms512m and 1-Xmx1024m RAM,
JDK 1.7.0_17, on 64 bit Windows Server 2008R2



--
View this message in context: 
http://servicemix.396122.n5.nabble.com/How-to-do-this-tp5717615.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to