Hi I am developing an application that uses both Jackrabbit and a database. In Jackrabbit I store the files that I upload, and the database I store all the other data in the app. I am using Spring 3.2, Hibernate 4.x and Jackrabbit 2.6.2. I have downloaded the Jackrabbit JCA version and deployed it to JBoss 7.1.1. I have configured it correctly I think. I can upload file to it and it is saved. I also debugged my application and I saw that the session object that invoke save() and logout() on is of type XaSession. I am using the datastore.
The way I tested my code is like this: I have one method in the service layer of my app annotated with @Transactional. Inside the method I first add a file to the content repository, then I force a RunTimeException to be thrown (and the code that should run instead of the exception would be to save my object to the database through Hibernate). I cleared the datastore (no files inside it) but when the exception is thrown the file that I added isn't removed from the datastore. So, is this correct? Does files in datastore stay in the datastore - not rolled back? Or should it be removed. I am using the <tx:jta-transaction-manager /> annotation in Spring config. Could someone shed some light over this because I don't understand if I got it working, or if I need to do something else to get it working? And where does the metadata of the file that I add get stored? I have configured a own database for the persistence manager but I don't see anything useful in the database tables? There are only a lot of what seems to be binary things there? Is there a way to verify if a file is inserted or not in the database even though the actual file is stored on disk (datastore)? Thank you - Andreas -- View this message in context: http://jackrabbit.510166.n4.nabble.com/Jackrabbit-JCA-and-JTA-tp4659460.html Sent from the Jackrabbit - Dev mailing list archive at Nabble.com.
