Skip to content

Commit bc1e628

Browse files
committed
HHH-19357 deprecate 'hibernate.discard_pc_on_close'
We believe that this was once upon a time long ago used for JBoss integration, but it's not used by WildFly anymore. Also, the property itself has a name which is quite misleading.
1 parent d318379 commit bc1e628

File tree

8 files changed

+26
-5
lines changed

8 files changed

+26
-5
lines changed

hibernate-core/src/main/java/org/hibernate/boot/SessionFactoryBuilder.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -672,10 +672,13 @@ public interface SessionFactoryBuilder {
672672
* released immediately on close?
673673
* <p>
674674
* The other option is to release them as part of an after transaction callback.
675+
*
676+
* @deprecated since {@value org.hibernate.cfg.AvailableSettings#DISCARD_PC_ON_CLOSE}
677+
* is deprecated
675678
*/
679+
@Deprecated(since = "7.0", forRemoval = true)
676680
SessionFactoryBuilder enableReleaseResourcesOnCloseEnabled(boolean enable);
677681

678-
679682
/**
680683
* @see JpaCompliance#isJpaQueryComplianceEnabled()
681684
*

hibernate-core/src/main/java/org/hibernate/boot/internal/SessionFactoryBuilderImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,7 @@ public SessionFactoryBuilder allowOutOfTransactionUpdateOperations(boolean allow
372372
return this;
373373
}
374374

375-
@Override
375+
@Override @Deprecated
376376
public SessionFactoryBuilder enableReleaseResourcesOnCloseEnabled(boolean enable) {
377377
this.optionsBuilder.enableReleaseResourcesOnClose( enable );
378378
return this;

hibernate-core/src/main/java/org/hibernate/boot/internal/SessionFactoryOptionsBuilder.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,6 @@ public class SessionFactoryOptionsBuilder implements SessionFactoryOptions {
147147
private boolean autoCloseSessionEnabled;
148148
private boolean jtaTransactionAccessEnabled;
149149
private boolean allowOutOfTransactionUpdateOperations;
150-
private boolean releaseResourcesOnCloseEnabled;
151150

152151
// (JTA) transaction handling
153152
private boolean jtaTrackByThread;
@@ -263,6 +262,8 @@ public class SessionFactoryOptionsBuilder implements SessionFactoryOptions {
263262
private SchemaAutoTooling schemaAutoTooling;
264263
@Deprecated(forRemoval = true)
265264
private boolean delayBatchFetchLoaderCreations;
265+
@Deprecated(forRemoval = true)
266+
private boolean releaseResourcesOnCloseEnabled;
266267

267268
@SuppressWarnings( "unchecked" )
268269
public SessionFactoryOptionsBuilder(StandardServiceRegistry serviceRegistry, BootstrapContext context) {
@@ -490,6 +491,9 @@ public SessionFactoryOptionsBuilder(StandardServiceRegistry serviceRegistry, Boo
490491
allowOutOfTransactionUpdateOperations = getBoolean( ALLOW_UPDATE_OUTSIDE_TRANSACTION, settings );
491492

492493
releaseResourcesOnCloseEnabled = getBoolean( DISCARD_PC_ON_CLOSE, settings );
494+
if ( releaseResourcesOnCloseEnabled) {
495+
DEPRECATION_LOGGER.deprecatedSetting( DISCARD_PC_ON_CLOSE );
496+
}
493497

494498
jdbcTimeZone = getJdbcTimeZone( settings.get( JDBC_TIME_ZONE ) );
495499

@@ -1515,6 +1519,7 @@ public void allowOutOfTransactionUpdateOperations(boolean allow) {
15151519
this.allowOutOfTransactionUpdateOperations = allow;
15161520
}
15171521

1522+
@Deprecated(since = "7.0", forRemoval = true)
15181523
public void enableReleaseResourcesOnClose(boolean enable) {
15191524
this.releaseResourcesOnCloseEnabled = enable;
15201525
}

hibernate-core/src/main/java/org/hibernate/boot/spi/AbstractDelegatingSessionFactoryBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ public T allowOutOfTransactionUpdateOperations(boolean allow) {
336336
return getThis();
337337
}
338338

339-
@Override
339+
@Override @Deprecated
340340
public T enableReleaseResourcesOnCloseEnabled(boolean enable) {
341341
delegate.enableReleaseResourcesOnCloseEnabled( enable );
342342
return getThis();

hibernate-core/src/main/java/org/hibernate/boot/spi/AbstractDelegatingSessionFactoryOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ public boolean isAllowOutOfTransactionUpdateOperations() {
244244
return delegate.isAllowOutOfTransactionUpdateOperations();
245245
}
246246

247-
@Override
247+
@Override @Deprecated
248248
public boolean isReleaseResourcesOnCloseEnabled() {
249249
return delegate.isReleaseResourcesOnCloseEnabled();
250250
}

hibernate-core/src/main/java/org/hibernate/boot/spi/SessionFactoryOptions.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -499,7 +499,11 @@ default SessionEventListener[] buildSessionEventListeners() {
499499

500500
/**
501501
* @see org.hibernate.cfg.AvailableSettings#DISCARD_PC_ON_CLOSE
502+
*
503+
* @deprecated since {@value org.hibernate.cfg.AvailableSettings#DISCARD_PC_ON_CLOSE}
504+
* is deprecated
502505
*/
506+
@Deprecated(since = "7.0", forRemoval = true)
503507
boolean isReleaseResourcesOnCloseEnabled();
504508

505509
/**

hibernate-core/src/main/java/org/hibernate/cfg/AvailableSettings.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,9 @@ public interface AvailableSettings
154154
*
155155
* @apiNote The legacy name of this setting is extremely misleading;
156156
* it has little to do with persistence contexts.
157+
* @deprecated This is no longer useful and will be removed.
157158
*/
159+
@Deprecated(since = "7.0", forRemoval = true)
158160
String DISCARD_PC_ON_CLOSE = "hibernate.discard_pc_on_close";
159161

160162
/**

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,13 @@ void recognizedObsoleteHibernateNamespace(
118118
)
119119
void deprecatedSetting(String oldSettingName, String newSettingName);
120120

121+
@LogMessage(level = WARN)
122+
@Message(
123+
id = 90000022,
124+
value = "Encountered deprecated setting [%s]"
125+
)
126+
void deprecatedSetting(String settingName);
127+
121128
@LogMessage(level = WARN)
122129
@Message(value = "%s does not need to be specified explicitly using 'hibernate.dialect' "
123130
+ "(remove the property setting and it will be selected by default)",

0 commit comments

Comments
 (0)