moqui / moqui-framework

Use Moqui Framework to build enterprise applications based on Java. It includes tools for databases (relational, graph, document), local and web services, web and other UI with screens and forms, security, file/resource access, scripts, templates, l10n, caching, logging, search, rules, workflow, multi-instance, and integration.
http://www.moqui.org
Other
284 stars 204 forks source link

Cant find dependency org.codehaus.btm:btm:3.0.0-SNAPSHOT in Maven #528

Closed zimskyhub closed 2 years ago

zimskyhub commented 2 years ago

JTA transition Manager Dependency org.codehaus.btm:btm:3.0.0-SNAPSHOT is Not Found in Maven Repository

jonesde commented 2 years ago

That jar file (btm-3.0.0-SNAPSHOT.jar) comes from the framework/lib directory based on a build from the btm repository on GitHub (actually a stabilization fork under my account: jonesde/btm on GitHub). It is not available in the maven central repository.

zimskyhub commented 2 years ago

got it, thanks, the btm-3.0.0-SNAPSHOT has not updated for many years, Is it will be Deprecated?

jonesde commented 2 years ago

It is the default transaction manager and database connection pool used in Moqui. There are no current plans to deprecate it or replace it with something else as it works fine.

It is possible to use alternatives, like Atomikos and there is an old moqui-atomikos component that shows how this can be done. That component is NOT recommended because in addition to Atomikos performing worse than Bitronix, it had many different bugs over time and the open source version of it gets a low priority for fixes which means that in order to get a reliable/stable version to use in production you have to buy a license. I don't know if that is still the case with open source Atomikos, I gave up on it a number of years ago.

If there ever is a need for an alternative transaction manager and connection pool, then we'll figure something out at that point. Unless there is something I'm not aware of, it is not an issue now.

On a side note, if you are running in a full application server like Weblogic (not common these days) and you get connections through JNDI plus access the transaction manager through JNDI then you will not be using Bitronix (see details in the MoquiDefaultConf.xml file, in the entity-facade and transaction-facade sections).