Issues

Select view

Select search mode

 
50 of 75

Could not locate Bitronix TransactionManager

Done

Description

Bonjour,

i try to migrate to spring boot 3 and i got this error when i try massindexer :
2024-08-13 17:21:30.451 [Hibernate Search - Mass indexing - BonusIndividual - Entity loading - 1] ERROR o.h.s.e.r.i.LogFailureHandler - HSEARCH000058: Exception occurred org.hibernate.engine.transaction.jta.platform.spi.JtaPlatformException: Could not locate Bitronix TransactionManager
Failing operation:
Loading and extracting entity data for entity 'BonusIndividual' during mass indexing

org.hibernate.engine.transaction.jta.platform.spi.JtaPlatformException: Could not locate Bitronix TransactionManager
at org.hibernate.engine.transaction.jta.platform.internal.BitronixJtaPlatform.locateTransactionManager(BitronixJtaPlatform.java:30) ~[hibernate-core-6.2.30.Final.jar:6.2.30.Final]
at org.hibernate.engine.transaction.jta.platform.internal.AbstractJtaPlatform.retrieveTransactionManager(AbstractJtaPlatform.java:87) ~[hibernate-core-6.2.30.Final.jar:6.2.30.Final]
at org.hibernate.search.mapper.orm.common.spi.TransactionHelper.<init>(TransactionHelper.java:45) ~[hibernate-search-mapper-orm-orm6-6.2.4.Final.jar:6.2.4.Final]
at org.hibernate.search.mapper.orm.loading.impl.HibernateOrmMassEntityLoader.<init>(HibernateOrmMassEntityLoader.java:36) ~[hibernate-search-mapper-orm-orm6-6.2.4.Final.jar:6.2.4.Final]
at org.hibernate.search.mapper.orm.massindexing.impl.HibernateOrmMassIndexingContext$HibernateOrmMassIndexingLoadingStrategy.createEntityLoader(HibernateOrmMassIndexingContext.java:210) ~[hibernate-search-mapper-orm-orm6-6.2.4.Final.jar:6.2.4.Final]
at org.hibernate.search.mapper.pojo.massindexing.impl.PojoMassIndexingEntityLoadingRunnable.runWithFailureHandler(PojoMassIndexingEntityLoadingRunnable.java:61) ~[hibernate-search-mapper-pojo-base-6.2.4.Final.jar:6.2.4.Final]
at org.hibernate.search.mapper.pojo.massindexing.impl.PojoMassIndexingFailureHandledRunnable.run(PojoMassIndexingFailureHandledRunnable.java:38) ~[hibernate-search-mapper-pojo-base-6.2.4.Final.jar:6.2.4.Final]
at org.hibernate.search.util.common.impl.CancellableExecutionCompletableFuture$CompletingRunnable.run(CancellableExecutionCompletableFuture.java:70) ~[hibernate-search-util-common-6.2.4.Final.jar:6.2.4.Final]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:833) ~[?:?]
Caused by: java.lang.ClassCastException: class bitronix.tm.BitronixTransactionManager cannot be cast to class jakarta.transaction.TransactionManager (bitronix.tm.BitronixTransactionManager and jakarta.transaction.TransactionManager are in unnamed module of loader 'app')
at org.hibernate.engine.transaction.jta.platform.internal.BitronixJtaPlatform.locateTransactionManager(BitronixJtaPlatform.java:27) ~[hibernate-core-6.2.30.Final.jar:6.2.30.Final]
... 12 more

I searched everywhere to find a way to prevent them from using JTA. (Unless it has become mandatory, but I haven't seen anything like that in the documentation.)

i don’t understand why it’s not working.

i use :
Spring boot 3.2.8
hibernate 6.2.30.Final
hibernateSearch 6.2.4.Final

(all i goot with 6.1.8.Final + hibernate 5.6.15 + spring boot 2.7.18)

 

config :







Details

Assignee

Reporter

Labels

Components

Affects versions

Priority

Created August 13, 2024 at 4:18 PM
Updated August 14, 2024 at 9:34 AM
Resolved August 14, 2024 at 7:58 AM

Activity

Show:

OlivierAugust 14, 2024 at 9:34 AM

i think i made a mistake .. i assign ticket to myselft when i try to close it … and now i appear in you planning..

Marko BekhtaAugust 14, 2024 at 7:57 AM

Glad you’ve figured it out!

Closing the ticket.

OlivierAugust 14, 2024 at 7:45 AM

i can’t close the ticket

OlivierAugust 14, 2024 at 7:44 AM

spring.jta.enabled= false does nothing.
there’s no dependencies which include bitronix.

org.hibernate.engine.transaction.jta.platform.spi.JtaPlatformException: Could not locate Bitronix TransactionManager
at org.hibernate.engine.transaction.jta.platform.internal.BitronixJtaPlatform.locateTransactionManager => spring want it..

maybe because i got this lib :
+--- org.ehcache:ehcache-transactions -> 3.10.8
| +--- org.ehcache:ehcache:3.10.8 (*)
| \--- javax.transaction:jta:[1.1,2) -> 1.1

finally it’s working with this gradle config :

 

for information, the bad one :


 

Thanks a lot for your help.

Marko BekhtaAugust 13, 2024 at 4:57 PM

hmm ok, I see… well apparently BitronixTransactionManager comes from somewhere … you could try looking at the dependencies you have, e.g. with maven: mvn dependency:tree to see if any of your dependencies bring the BitronixTransactionManager and then eliminate it, or you could try disabling the JTA autoconfiguration in Spring (spring.jta.enabled=false )

Flag notifications