Are any of you running ActiveMQ with persistence in a database? Even better, in an Oracle database?

We're wanting to replace our current JMQ uses with ActiveMQ. The plan is to have two machines (one hot, one failover) that share an ActiveMQ queue, so that the failover can pick up where the hot machine left off. In testing with file-based persistence, this works great. However, giving both machines access to some fast file space is tricky, and wherever that is becomes a point of failure. Persisting into our Oracle database seems like the ideal way to go, but it's painfully slow in testing. Other things using the Oracle cluster are doing fine.

Is anyone doing this with acceptable performance? If so, was there a trick to tuning it? Did it "just work" for you? If either of those, would you mind sharing some config snippets or something? Even if you're not using Oracle, I'm sure I can translate the configuration as needed.

Edit: Really? This is the only ActiveMQ question on SF?

Edit 2: I'm talking about either of the first two configurations on this page. Specifically the latter ("JDBC Persistence without Journaling"), but experience with the former would be great.

  • I've never even heard of it till you asked.. might want to link to the apache project site for it :) activemq.apache.org – warren Oct 30 '09 at 8:25
  • Perhaps this should be on stackoverflow.com? Anyway, all I ever hear about ActiveMQ and Oracle AQ is the problems people are having getting them working together. Two phase commits not working, performance being less than ideal. – Roy Nov 3 '09 at 14:13
  • Maybe. I figured that it's a server configuration issue, not an issue with using the software. I don't know. – Bill Weiss Nov 3 '09 at 16:50

From what I remember, you have to disable the journaling feature to run with database persistence, which cripples performance.

I think you're going to have to stick with a master/slave system, but it doesn't need to have a shared filesystem is that causes a problem for you - the pure master/slave system supported by ActiveMQ is a shared-nothing approach, though it does have it's own limitations.

  • I'll give you a point for the link to the pure master/slave configuration. Have you ever run that? What's performance like? – Bill Weiss Oct 30 '09 at 21:17
  • Sorry, meant to reply earlier, we looked at ActiveMQ a couple of years ago but ended up using MSMQ because of it's integration with other services. I don't remember how fast the master/slave option was, but it was hugely faster than using the database persistance, almost as fast as no clustering at all. – Ewan Leith Nov 4 '09 at 17:02
  • Just noticed there's quite a lot of ActiveMQ questions on StackOverflow, it might be worth asking there? stackoverflow.com/questions/tagged/activemq – Ewan Leith Nov 4 '09 at 17:03
  • You're the answer, so enjoy your 100 rep :) – Bill Weiss Nov 4 '09 at 22:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.