File tree Expand file tree Collapse file tree 1 file changed +19
-1
lines changed
hibernate-core/src/main/java/org/hibernate/engine/jdbc/connections/internal Expand file tree Collapse file tree 1 file changed +19
-1
lines changed Original file line number Diff line number Diff line change 66 */
77package org .hibernate .engine .jdbc .connections .internal ;
88
9+ import java .security .AccessController ;
10+ import java .security .PrivilegedAction ;
911import java .sql .Connection ;
1012import java .sql .Driver ;
1113import java .sql .DriverManager ;
2830import org .hibernate .dialect .Database ;
2931import org .hibernate .engine .jdbc .connections .spi .ConnectionProvider ;
3032import org .hibernate .internal .util .config .ConfigurationHelper ;
33+ import org .hibernate .internal .util .securitymanager .SystemSecurityManager ;
3134import org .hibernate .service .UnknownUnwrapTypeException ;
3235import org .hibernate .service .spi .Configurable ;
3336import org .hibernate .service .spi .ServiceException ;
@@ -605,7 +608,22 @@ public void stop() {
605608 CONNECTIONS_MESSAGE_LOGGER .cleaningUpConnectionPool ( pool .getUrl () );
606609 active = false ;
607610 if ( executorService != null ) {
608- executorService .shutdown ();
611+ PrivilegedAction delegateToPrivilegedAction =
612+ new PrivilegedAction () {
613+
614+ @ Override
615+ public Object run () {
616+ executorService .shutdown ();
617+ return null ;
618+ }
619+ };
620+ if ( SystemSecurityManager .isSecurityManagerEnabled () ) {
621+ AccessController .doPrivileged (
622+ delegateToPrivilegedAction );
623+ }
624+ else {
625+ delegateToPrivilegedAction .run ();
626+ }
609627 }
610628 executorService = null ;
611629 try {
You can’t perform that action at this time.
0 commit comments