Yes JBoss supports both file and jbdc persistence.
The default hsqldb in deploy/jms (not recommended).
You will find replacements in docs/examples/jms.
The file persistence is not recommended either. It is quite an old implementation
and does no error checking like check sums.
I keep seeing posts like the one above that say that using Hypersonic for JMS JDBC persistence is not recommended. While I probably wouldn't argue with that point, I do not understand then why it is still, after all these years, included as a default in JBoss then.
Certainly there are other embeddable databases (like McKoi) that could be bundled as default in place of Hypersonic and would perhaps provide the features and robustness to be recommended for use especially for new users.
I know the natural reaction to posts like this are to say "you can use whatever database you want" and yes that would be true, and I do. However, it seems that if you include a product in the default setup, you are indirectly, or perhaps even directly sanctioning its use.
The bottom line is that if is is not recommended to use, then it should not be the default database in JBoss. Or at the very minimum, have a bullet point in the FAQ of this forum that states that Hypersonic should not be used and maybe even some points as to why that is the case.
I've seen Mckoi mentioned before, but nobody has taken the time to write an MBean
that embeds it. Which suggests to me that it isn't worth the effort?
What license it?
Care to spend the time?
HSQLDB is fine for testing/demos, but it is little better than MS Access,
e.g. no transaction isloation, and it has some very annoying bugs like
thread leaks and instablity under load.
It is fine to get you started, but all I'm saying is don't use it in production.
For more info: http://www.mckoi.com
McKoi's license is GPL.
I don't know if it is worth the effort or not. McKoi does have transaction isolation but does not have XA support (at least any that I could find). I am currently using McKoi as an embedded test database via a -ds.xml file, but not for JMS JDBC persistence. The URL I use to run McKoi in VM is ..
This tells McKoi to start itself on first access, so I presume it would be fairly trivial to wrap it in an MBean and use it in place of Hypersonic.
I only threw McKoi out there as a possibility simply because even as a test database, it at least gives you transaction isolation that you don't get in Hypersonic and it is embeddable. Whether or not it's suitable for production use as well, I wouldn't hazard a guess. It has certainly been fine in a test environment though.
McKoi is also extremely Java friendly as well in terms of storing serialized Java objects into the database without the normal blob/clob hoop jumping one would normally have to do. So, it seems to be a perfect candidate for JMS persistence as well.
We can't distribute GPL software, JBoss is LGPL
That doesn't stop you downloading it and using it.
.. and obviously I have downloaded it and used it. :)
I noticed that Hypersonic isn't LGPL either. But that's a different topic for a different thread.
Correct, is has a BSD style license.
So if File and Hypersonic are not recommended then what is recommended?
What are people really using in production?