Skip to content

Commit a0004f8

Browse files
committed
HHH-19743 Deprecate explicit use of JBossStandAloneJtaPlatform
1 parent dfe1142 commit a0004f8

File tree

4 files changed

+21
-2
lines changed

4 files changed

+21
-2
lines changed

documentation/src/main/asciidoc/userguide/chapters/transactions/Transactions.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ If that resolution does not work, or if you wish to provide a custom implementat
7777
Hibernate provides many implementations of the `JtaPlatform` contract, all with short names:
7878

7979
`JBossAS`:: `JtaPlatform` for Arjuna/JBossTransactions/Narayana when used within the JBoss/WildFly Application Server.
80-
`JBossTS`:: `JtaPlatform` for Arjuna/JBossTransactions/Narayana when used standalone.
80+
`JBossTS`:: **deprecated**, use `Narayana` or `WildFlyStandAlone` instead.
8181
`Atomikos`:: `JtaPlatform` for Atomikos.
8282
`GlassFish`, `Payara`:: `JtaPlatform` for GlassFish or Payara.
8383
`Resin`:: `JtaPlatform` for the Resin Application Server.

hibernate-core/src/main/java/org/hibernate/boot/registry/selector/internal/DefaultJtaPlatformSelector.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@
44
*/
55
package org.hibernate.boot.registry.selector.internal;
66

7+
import java.util.List;
78
import java.util.Objects;
89

10+
import org.hibernate.cfg.AvailableSettings;
911
import org.hibernate.engine.transaction.jta.platform.internal.AtomikosJtaPlatform;
1012
import org.hibernate.engine.transaction.jta.platform.internal.JBossAppServerJtaPlatform;
1113
import org.hibernate.engine.transaction.jta.platform.internal.JBossStandAloneJtaPlatform;
@@ -16,6 +18,7 @@
1618
import org.hibernate.engine.transaction.jta.platform.internal.WeblogicJtaPlatform;
1719
import org.hibernate.engine.transaction.jta.platform.internal.WildFlyStandAloneJtaPlatform;
1820
import org.hibernate.engine.transaction.jta.platform.spi.JtaPlatform;
21+
import org.hibernate.internal.log.DeprecationLogger;
1922

2023
public class DefaultJtaPlatformSelector implements LazyServiceResolver<JtaPlatform> {
2124

@@ -31,7 +34,11 @@ else if ( name.startsWith( "org." ) ) {
3134
else {
3235
return switch ( name ) {
3336
case "JBossAS" -> JBossAppServerJtaPlatform.class;
34-
case "JBossTS" -> JBossStandAloneJtaPlatform.class;
37+
case "JBossTS" -> {
38+
DeprecationLogger.DEPRECATION_LOGGER.logDeprecatedJtaPlatformSetting(
39+
AvailableSettings.JTA_PLATFORM, name, List.of( "Narayana", "WildFlyStandadlone" ) );
40+
yield JBossStandAloneJtaPlatform.class;
41+
}
3542
case "Weblogic" -> WeblogicJtaPlatform.class;
3643
case "WebSphere", "WebSphereLiberty" -> WebSphereLibertyJtaPlatform.class;
3744
case "Atomikos" -> AtomikosJtaPlatform.class;
@@ -59,6 +66,8 @@ private static Class<? extends JtaPlatform> legacy(
5966
return JBossAppServerJtaPlatform.class;
6067
}
6168
case "org.hibernate.service.jta.platform.internal.JBossStandAloneJtaPlatform" -> {
69+
DeprecationLogger.DEPRECATION_LOGGER.logDeprecatedJtaPlatformSetting(
70+
AvailableSettings.JTA_PLATFORM, name, List.of( "Narayana", "WildFlyStandadlone" ) );
6271
return JBossStandAloneJtaPlatform.class;
6372
}
6473
case "org.hibernate.engine.transaction.jta.platform.internal.NarayanaJtaPlatform" -> {

hibernate-core/src/main/java/org/hibernate/engine/transaction/jta/platform/internal/JBossStandAloneJtaPlatform.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@
1616
*
1717
* @author Emmanuel Bernard
1818
* @author Steve Ebersole
19+
* @deprecated Use {@link WildFlyStandAloneJtaPlatform} or {@link NarayanaJtaPlatform} instead.
1920
*/
21+
@Deprecated
2022
public class JBossStandAloneJtaPlatform extends AbstractJtaPlatform {
2123

2224
public static final String JBOSS_TM_CLASS_NAME = "com.arjuna.ats.jta.TransactionManager";

hibernate-core/src/main/java/org/hibernate/internal/log/DeprecationLogger.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import java.lang.annotation.Annotation;
88
import java.lang.invoke.MethodHandles;
9+
import java.util.List;
910

1011
import org.hibernate.Internal;
1112
import org.hibernate.boot.jaxb.SourceType;
@@ -226,4 +227,11 @@ void recognizedObsoleteHibernateNamespace(
226227
value = "Encountered deprecated hint [%s], use [%s] instead"
227228
)
228229
void deprecatedHint(String deprecatedHint, String replacementHint);
230+
231+
@LogMessage(level = WARN)
232+
@Message(
233+
id = 90000038,
234+
value = "Encountered deprecated value for JtaPlatform setting [%s]: [%s]; use a non-deprecated value among %s instead"
235+
)
236+
void logDeprecatedJtaPlatformSetting(String settingName, String deprecatedValue, List<String> replacements);
229237
}

0 commit comments

Comments
 (0)