From c7a1a1e16b371f5f98ebb4811892e85e04723a7e Mon Sep 17 00:00:00 2001 From: Tamas Cservenak Date: Tue, 11 Oct 2022 13:23:52 +0200 Subject: [PATCH 1/2] Close session --- .../main/java/org/apache/maven/DefaultMaven.java | 5 +++-- .../cli/internal/BootstrapCoreExtensionManager.java | 13 ++++++++++--- pom.xml | 2 +- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java index 0fc818e7489b..076407c4a108 100644 --- a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java +++ b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java @@ -179,10 +179,10 @@ private MavenExecutionResult doExecute( MavenExecutionRequest request ) // so that @SessionScoped components can be @Injected into AbstractLifecycleParticipants. // sessionScope.enter(); + DefaultRepositorySystemSession repoSession = + (DefaultRepositorySystemSession) newRepositorySession( request ); try { - DefaultRepositorySystemSession repoSession = - (DefaultRepositorySystemSession) newRepositorySession( request ); MavenSession session = new MavenSession( container, repoSession, request, result ); sessionScope.seed( MavenSession.class, session ); @@ -193,6 +193,7 @@ private MavenExecutionResult doExecute( MavenExecutionRequest request ) } finally { + repoSession.close(); sessionScope.exit(); } } diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/internal/BootstrapCoreExtensionManager.java b/maven-embedder/src/main/java/org/apache/maven/cli/internal/BootstrapCoreExtensionManager.java index 89c9bed4db10..1d1e4989c1d2 100644 --- a/maven-embedder/src/main/java/org/apache/maven/cli/internal/BootstrapCoreExtensionManager.java +++ b/maven-embedder/src/main/java/org/apache/maven/cli/internal/BootstrapCoreExtensionManager.java @@ -95,10 +95,17 @@ public List loadCoreExtensions( MavenExecutionRequest reques throws Exception { RepositorySystemSession repoSession = repositorySystemSessionFactory.newRepositorySession( request ); - List repositories = RepositoryUtils.toRepos( request.getPluginArtifactRepositories() ); - Interpolator interpolator = createInterpolator( request ); + try + { + List repositories = RepositoryUtils.toRepos( request.getPluginArtifactRepositories() ); + Interpolator interpolator = createInterpolator( request ); - return resolveCoreExtensions( repoSession, repositories, providedArtifacts, extensions, interpolator ); + return resolveCoreExtensions( repoSession, repositories, providedArtifacts, extensions, interpolator ); + } + finally + { + repoSession.close(); + } } private List resolveCoreExtensions( RepositorySystemSession repoSession, diff --git a/pom.xml b/pom.xml index ad3df8cbf75c..eb5d866ae1f7 100644 --- a/pom.xml +++ b/pom.xml @@ -64,7 +64,7 @@ under the License. 2.0 2.0 1.3 - 1.8.2 + 1.8.3-SNAPSHOT 1.7.36 2.2.1 1.7.4 From 673ff023b5987fc54b65bc59c154310c534b1a66 Mon Sep 17 00:00:00 2001 From: Tamas Cservenak Date: Tue, 11 Oct 2022 13:41:00 +0200 Subject: [PATCH 2/2] Tidy --- .../java/org/apache/maven/DefaultMaven.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java index 076407c4a108..062708706ed4 100644 --- a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java +++ b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java @@ -179,21 +179,27 @@ private MavenExecutionResult doExecute( MavenExecutionRequest request ) // so that @SessionScoped components can be @Injected into AbstractLifecycleParticipants. // sessionScope.enter(); - DefaultRepositorySystemSession repoSession = - (DefaultRepositorySystemSession) newRepositorySession( request ); try { - MavenSession session = new MavenSession( container, repoSession, request, result ); + DefaultRepositorySystemSession repoSession = + (DefaultRepositorySystemSession) newRepositorySession( request ); + try + { + MavenSession session = new MavenSession( container, repoSession, request, result ); - sessionScope.seed( MavenSession.class, session ); + sessionScope.seed( MavenSession.class, session ); - legacySupport.setSession( session ); + legacySupport.setSession( session ); - return doExecute( request, session, result, repoSession ); + return doExecute( request, session, result, repoSession ); + } + finally + { + repoSession.close(); + } } finally { - repoSession.close(); sessionScope.exit(); } }