We're updating the issue view to help you get more done. 

MassIndexer/JBoss 6: Could not register synchronization for container transaction

Description

If a mass indexer is used inside a CMP bean in JBoss 6 to rebuild the search index, an org.hibernate.TransactionException is thrown:

1 2 3 4 5 6 7 8 9 10 2010-12-06 14:01:30,720 ERROR [org.hibernate.search.batchindexing.EntityConsumerLuceneworkProducer] (Hibernate Search: collectionsloader-1) error during batch indexing: : org.hibernate.TransactionException: Could not register synchronization for container transaction at org.hibernate.transaction.CMTTransaction.begin(CMTTransaction.java:76) [:3.6.0.Final] at org.hibernate.ejb.transaction.JoinableCMTTransaction.begin(JoinableCMTTransaction.java:89) [:3.6.0.Final] at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1473) [:3.6.0.Final] at org.hibernate.search.batchindexing.EntityConsumerLuceneworkProducer.run(EntityConsumerLuceneworkProducer.java:90) [:3.3.0.CR1] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_20] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_20] at java.lang.Thread.run(Thread.java:619) [:1.6.0_20]

I've included an example EAR (see attachment) that can be deployed to JBoss 6.0.0.CR1 without any modifications.
It contains the required hibernate search libraries and defines one single indexed entity bean Contact as well as a JBoss service EJB named at.mw.contacts:ContactsService that can be accessed via JMX console.
Use this service to do one of the following things:

  • add new contacts by specifying firstName/lastName

  • list all contacts

  • search for contacts using the search index

  • rebuild the entire search index (using a MassIndexer)

Rebuilding the index fails with the exception listed above.
Sources included.

(the example uses an in-memory HSQL-DB and the ram directory provider for the lucene index).

(see also forum discussion: Could not register synchronization for container transaction)

Environment

Hibernate 3.6.0.Final, JBoss 6.0.0.CR1, HSQL 1.8.0 (shipped with JBoss 6.0.0.CR1)
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)

Status

Assignee

Unassigned

Reporter

Mario Winterer

Labels

None

Suitable for new contributors

None

Pull Request

None

Feedback Requested

None

Components

Fix versions

Affects versions

3.3.0.CR1

Priority

Critical