This is an automated email from the ASF dual-hosted git repository.

yasith pushed a commit to branch cybershuttle-dev
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit feaee51f771e6af624f6647d222b51158238f125
Author: yasithdev <[email protected]>
AuthorDate: Tue Mar 18 07:21:17 2025 +0000

    migrate javax.mail to jakarta.mail to fix email-monitor bug. exclude 
conflicting angus-mail dependency. add missing @Deprecated tags.
---
 .../iam-admin-services-core/pom.xml                |  6 ++++++
 .../profile/user/cpi/UserProfileService.java       |  1 +
 modules/agent-framework/agent-service/pom.xml      |  5 -----
 .../service/controllers/AgentController.java       | 15 ++++++-------
 .../service/controllers/ExperimentController.java  |  8 +++----
 .../airavata/common/utils/ApplicationSettings.java |  3 +++
 .../src/main/assembly/controller-bin-assembly.xml  |  2 +-
 .../main/assembly/email-monitor-bin-assembly.xml   |  4 ++--
 .../src/main/assembly/parser-wm-bin-assembly.xml   |  2 +-
 .../src/main/assembly/participant-bin-assembly.xml |  2 +-
 .../src/main/assembly/post-wm-bin-assembly.xml     |  2 +-
 .../src/main/assembly/pre-wm-bin-assembly.xml      |  2 +-
 modules/job-monitor/email-monitor/pom.xml          |  9 +++-----
 .../airavata/monitor/email/EmailBasedMonitor.java  | 25 +++++++++++++---------
 .../email/parser/AiravataCustomMailParser.java     |  4 ++--
 .../airavata/monitor/email/parser/EmailParser.java |  4 ++--
 .../monitor/email/parser/HTCondorEmailParser.java  |  4 ++--
 .../monitor/email/parser/LSFEmailParser.java       |  4 ++--
 .../monitor/email/parser/PBSEmailParser.java       |  4 ++--
 .../monitor/email/parser/SLURMEmailParser.java     |  4 ++--
 .../monitor/email/parser/UGEEmailParser.java       |  4 ++--
 modules/job-monitor/pom.xml                        | 11 +++-------
 pom.xml                                            |  2 +-
 tools/load-client/pom.xml                          |  6 ++++++
 24 files changed, 70 insertions(+), 63 deletions(-)

diff --git a/airavata-services/profile-service/iam-admin-services-core/pom.xml 
b/airavata-services/profile-service/iam-admin-services-core/pom.xml
index 3c40866258..1d02d39acf 100644
--- a/airavata-services/profile-service/iam-admin-services-core/pom.xml
+++ b/airavata-services/profile-service/iam-admin-services-core/pom.xml
@@ -58,6 +58,12 @@
             <groupId>org.keycloak</groupId>
             <artifactId>keycloak-admin-client</artifactId>
             <version>${keycloak.admin.client.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.eclipse.angus</groupId>
+                    <artifactId>angus-mail</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>
diff --git 
a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/UserProfileService.java
 
b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/UserProfileService.java
index 8bc718e7eb..f8f018f029 100644
--- 
a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/UserProfileService.java
+++ 
b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/UserProfileService.java
@@ -44,6 +44,7 @@ public class UserProfileService {
      * @param authzToken
      * @param userProfile
      */
+    @Deprecated
     public java.lang.String 
addUserProfile(org.apache.airavata.model.security.AuthzToken authzToken, 
org.apache.airavata.model.user.UserProfile userProfile) throws 
org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException,
 org.apache.airavata.model.error.AuthorizationException, 
org.apache.thrift.TException;
 
     public boolean 
updateUserProfile(org.apache.airavata.model.security.AuthzToken authzToken, 
org.apache.airavata.model.user.UserProfile userProfile) throws 
org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException,
 org.apache.airavata.model.error.AuthorizationException, 
org.apache.thrift.TException;
diff --git a/modules/agent-framework/agent-service/pom.xml 
b/modules/agent-framework/agent-service/pom.xml
index b9dd019fe8..638ccb768a 100644
--- a/modules/agent-framework/agent-service/pom.xml
+++ b/modules/agent-framework/agent-service/pom.xml
@@ -100,11 +100,6 @@
             <artifactId>grpc-server-spring-boot-starter</artifactId>
             <version>3.0.0.RELEASE</version>
         </dependency>
-        <dependency>
-            <groupId>javax.validation</groupId>
-            <artifactId>validation-api</artifactId>
-            <version>${javax.version}</version>
-        </dependency>
         <dependency>
             <groupId>javax.annotation</groupId>
             <artifactId>javax.annotation-api</artifactId>
diff --git 
a/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/AgentController.java
 
b/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/AgentController.java
index f223264c92..0f49324f43 100644
--- 
a/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/AgentController.java
+++ 
b/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/AgentController.java
@@ -1,7 +1,5 @@
 package org.apache.airavata.agent.connection.service.controllers;
 
-import javax.validation.Valid;
-
 import 
org.apache.airavata.agent.connection.service.handlers.AgentConnectionHandler;
 import 
org.apache.airavata.agent.connection.service.models.AgentCommandExecutionAck;
 import 
org.apache.airavata.agent.connection.service.models.AgentCommandExecutionRequest;
@@ -24,6 +22,7 @@ import 
org.apache.airavata.agent.connection.service.models.AgentTunnelRequest;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.http.ResponseEntity;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -48,12 +47,12 @@ public class AgentController {
     }
 
     @PostMapping("/setup/tunnel")
-    public ResponseEntity<AgentTunnelAck> runTunnelCreationOnAgent(@Valid 
@RequestBody AgentTunnelRequest tunnelRequest) {
+    public ResponseEntity<AgentTunnelAck> runTunnelCreationOnAgent(@Validated 
@RequestBody AgentTunnelRequest tunnelRequest) {
         return 
ResponseEntity.accepted().body(agentConnectionHandler.runTunnelOnAgent(tunnelRequest));
     }
 
     @PostMapping("/setup/env")
-    public ResponseEntity<AgentEnvSetupAck> runEnvSetupOnAgent(@Valid 
@RequestBody AgentEnvSetupRequest envSetupRequest) {
+    public ResponseEntity<AgentEnvSetupAck> runEnvSetupOnAgent(@Validated 
@RequestBody AgentEnvSetupRequest envSetupRequest) {
         logger.info("Received env setup request to run on agent {}", 
envSetupRequest.getAgentId());
         if 
(agentConnectionHandler.isAgentUp(envSetupRequest.getAgentId()).isAgentUp()) {
             return 
ResponseEntity.accepted().body(agentConnectionHandler.runEnvSetupOnAgent(envSetupRequest));
@@ -71,7 +70,7 @@ public class AgentController {
     }
 
     @PostMapping("/setup/restart")
-    public ResponseEntity<AgentKernelRestartAck> 
runKernelRestartOnAgent(@Valid @RequestBody AgentKernelRestartRequest 
kernelRestartRequest) {
+    public ResponseEntity<AgentKernelRestartAck> 
runKernelRestartOnAgent(@Validated @RequestBody AgentKernelRestartRequest 
kernelRestartRequest) {
         logger.info("Received kernel restart request to run on agent {}", 
kernelRestartRequest.getAgentId());
         if 
(agentConnectionHandler.isAgentUp(kernelRestartRequest.getAgentId()).isAgentUp())
 {
             return 
ResponseEntity.accepted().body(agentConnectionHandler.runKernelRestartOnAgent(kernelRestartRequest));
@@ -89,7 +88,7 @@ public class AgentController {
     }
 
     @PostMapping("/execute/shell")
-    public ResponseEntity<AgentCommandExecutionAck> runCommandOnAgent(@Valid 
@RequestBody AgentCommandExecutionRequest commandRequest) {
+    public ResponseEntity<AgentCommandExecutionAck> 
runCommandOnAgent(@Validated @RequestBody AgentCommandExecutionRequest 
commandRequest) {
         logger.info("Received command request to run on agent {}", 
commandRequest.getAgentId());
         if 
(agentConnectionHandler.isAgentUp(commandRequest.getAgentId()).isAgentUp()) {
             return 
ResponseEntity.accepted().body(agentConnectionHandler.runCommandOnAgent(commandRequest));
@@ -107,7 +106,7 @@ public class AgentController {
     }
 
     @PostMapping("/execute/jupyter")
-    public ResponseEntity<AgentJupyterExecutionAck> runJupyterOnAgent(@Valid 
@RequestBody AgentJupyterExecutionRequest executionRequest) {
+    public ResponseEntity<AgentJupyterExecutionAck> 
runJupyterOnAgent(@Validated @RequestBody AgentJupyterExecutionRequest 
executionRequest) {
         logger.info("Received jupyter execution request to run on agent {}", 
executionRequest.getAgentId());
         if 
(agentConnectionHandler.isAgentUp(executionRequest.getAgentId()).isAgentUp()) {
             return 
ResponseEntity.accepted().body(agentConnectionHandler.runJupyterOnAgent(executionRequest));
@@ -125,7 +124,7 @@ public class AgentController {
     }
 
     @PostMapping("/execute/python")
-    public ResponseEntity<AgentPythonExecutionAck> runPythonOnAgent(@Valid 
@RequestBody AgentPythonExecutionRequest pythonRunRequest) {
+    public ResponseEntity<AgentPythonExecutionAck> runPythonOnAgent(@Validated 
@RequestBody AgentPythonExecutionRequest pythonRunRequest) {
         logger.info("Received python execution request to run on agent {}", 
pythonRunRequest.getAgentId());
         if 
(agentConnectionHandler.isAgentUp(pythonRunRequest.getAgentId()).isAgentUp()) {
             return 
ResponseEntity.accepted().body(agentConnectionHandler.runPythonOnAgent(pythonRunRequest));
diff --git 
a/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/ExperimentController.java
 
b/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/ExperimentController.java
index fcd93327a4..8a2b83e4a0 100644
--- 
a/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/ExperimentController.java
+++ 
b/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/ExperimentController.java
@@ -1,7 +1,5 @@
 package org.apache.airavata.agent.connection.service.controllers;
 
-import javax.validation.Valid;
-
 import 
org.apache.airavata.agent.connection.service.handlers.AgentManagementHandler;
 import org.apache.airavata.agent.connection.service.models.AgentLaunchRequest;
 import org.apache.airavata.agent.connection.service.models.AgentLaunchResponse;
@@ -21,6 +19,8 @@ import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
 
+import org.springframework.validation.annotation.Validated;
+
 @RestController
 @RequestMapping("/api/v1/exp")
 public class ExperimentController {
@@ -39,13 +39,13 @@ public class ExperimentController {
     }
 
     @PostMapping(value = "/launch", consumes = 
MediaType.APPLICATION_JSON_VALUE)
-    public ResponseEntity<AgentLaunchResponse> 
createAndLaunchExperiment(@Valid @RequestBody AgentLaunchRequest request) {
+    public ResponseEntity<AgentLaunchResponse> 
createAndLaunchExperiment(@Validated @RequestBody AgentLaunchRequest request) {
         AgentLaunchResponse agentResponse = 
agentManagementHandler.createAndLaunchExperiment(request);
         return ResponseEntity.ok(agentResponse);
     }
 
     @PostMapping(value = "/launchoptimize", consumes = 
MediaType.APPLICATION_JSON_VALUE)
-    public ResponseEntity<AgentLaunchResponse> 
createAndLaunchOptimizedExperiment(@Valid @RequestBody List<AgentLaunchRequest> 
request) {
+    public ResponseEntity<AgentLaunchResponse> 
createAndLaunchOptimizedExperiment(@Validated @RequestBody 
List<AgentLaunchRequest> request) {
         try {
             AgentLaunchRequest agentLaunchRequest = 
agentManagementHandler.filterOptimumLaunchRequest(request);
             AgentLaunchResponse agentResponse = 
agentManagementHandler.createAndLaunchExperiment(agentLaunchRequest);
diff --git 
a/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java
 
b/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java
index 88c334dd97..5c0a218357 100644
--- 
a/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java
+++ 
b/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java
@@ -145,6 +145,7 @@ public class ApplicationSettings {
      * @throws ApplicationSettingsException If an error occurred while reading 
configurations.
      * @deprecated use #getSetting(String) instead
      */
+    @Deprecated
     public String getAbsoluteSetting(String key) throws 
ApplicationSettingsException {
 
         String configurationValueWithVariables = 
ApplicationSettings.getSetting(key);
@@ -290,6 +291,7 @@ public class ApplicationSettings {
      * @deprecated use {{@link #getSetting(String)}}
      * @return
      */
+    @Deprecated
     public Properties getPropertiesImpl() {
         return properties;
     }
@@ -501,6 +503,7 @@ public class ApplicationSettings {
      * @return
      * @throws ApplicationSettingsException 
      */
+    @Deprecated
     public static Properties getProperties() throws 
ApplicationSettingsException {
         return getInstance().properties;
     }
diff --git a/modules/distribution/src/main/assembly/controller-bin-assembly.xml 
b/modules/distribution/src/main/assembly/controller-bin-assembly.xml
index 29f17779cc..767d8360e4 100644
--- a/modules/distribution/src/main/assembly/controller-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/controller-bin-assembly.xml
@@ -133,7 +133,7 @@
                 
<include>com.github.danielwegener:logback-kafka-appender:jar</include>
                 
<include>net.logstash.logback:logstash-logback-encoder:jar</include>
                 <include>org.lz4:lz4-java:jar</include>
-                <include>javax.mail:mail:jar</include>
+                <include>jakarta.mail:jakarta.mail:jar</include>
                 <include>io.dropwizard.metrics:metrics-core:jar</include>
                 <include>org.jboss.netty:netty:jar</include>
                 <include>org.apache.openjpa:openjpa:jar</include>
diff --git 
a/modules/distribution/src/main/assembly/email-monitor-bin-assembly.xml 
b/modules/distribution/src/main/assembly/email-monitor-bin-assembly.xml
index c0519fbb09..64400e89fb 100644
--- a/modules/distribution/src/main/assembly/email-monitor-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/email-monitor-bin-assembly.xml
@@ -92,8 +92,8 @@
                 <include>org.apache.airavata:airavata-data-models:jar</include>
                 <include>org.apache.thrift:libthrift:jar</include>
 
-                <include>javax.mail:javax.mail-api:jar</include>
-                <include>com.sun.mail:javax.mail:jar</include>
+                <include>jakarta.mail:jakarta.mail-api:jar</include>
+                <include>jakarta.mail:jakarta.mail:jar</include>
                 <include>javax.activation:activation:jar</include>
                 <include>org.yaml:snakeyaml:jar</include>
 
diff --git a/modules/distribution/src/main/assembly/parser-wm-bin-assembly.xml 
b/modules/distribution/src/main/assembly/parser-wm-bin-assembly.xml
index fb69c836c4..3a30e919e5 100644
--- a/modules/distribution/src/main/assembly/parser-wm-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/parser-wm-bin-assembly.xml
@@ -138,7 +138,7 @@
                 
<include>com.github.danielwegener:logback-kafka-appender:jar</include>
                 
<include>net.logstash.logback:logstash-logback-encoder:jar</include>
                 <include>org.lz4:lz4-java:jar</include>
-                <include>javax.mail:mail:jar</include>
+                <include>jakarta.mail:jakarta.mail:jar</include>
                 <include>io.dropwizard.metrics:metrics-core:jar</include>
                 <include>org.jboss.netty:netty:jar</include>
                 <include>org.apache.openjpa:openjpa:jar</include>
diff --git 
a/modules/distribution/src/main/assembly/participant-bin-assembly.xml 
b/modules/distribution/src/main/assembly/participant-bin-assembly.xml
index 1cc4499a97..5ea4d98327 100644
--- a/modules/distribution/src/main/assembly/participant-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/participant-bin-assembly.xml
@@ -139,7 +139,7 @@
                 
<include>com.github.danielwegener:logback-kafka-appender:jar</include>
                 
<include>net.logstash.logback:logstash-logback-encoder:jar</include>
                 <include>org.lz4:lz4-java:jar</include>
-                <include>javax.mail:mail:jar</include>
+                <include>jakarta.mail:jakarta.mail:jar</include>
                 <include>io.dropwizard.metrics:metrics-core:jar</include>
                 <include>org.jboss.netty:netty:jar</include>
                 <include>org.apache.openjpa:openjpa:jar</include>
diff --git a/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml 
b/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml
index 2d5b00b9ad..6dab1016dd 100644
--- a/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml
@@ -138,8 +138,8 @@
                 
<include>com.github.danielwegener:logback-kafka-appender:jar</include>
                 
<include>net.logstash.logback:logstash-logback-encoder:jar</include>
                 <include>org.lz4:lz4-java:jar</include>
-                <include>javax.mail:mail:jar</include>
                 <include>io.dropwizard.metrics:metrics-core:jar</include>
+                <include>jakarta.mail:jakarta.mail:jar</include>
                 <include>org.jboss.netty:netty:jar</include>
                 <include>org.apache.openjpa:openjpa:jar</include>
                 <include>org.apache.airavata:platform-monitor:jar</include>
diff --git a/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml 
b/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml
index 75fa397967..d6b0e9ae5e 100644
--- a/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml
+++ b/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml
@@ -138,7 +138,7 @@
                 
<include>com.github.danielwegener:logback-kafka-appender:jar</include>
                 
<include>net.logstash.logback:logstash-logback-encoder:jar</include>
                 <include>org.lz4:lz4-java:jar</include>
-                <include>javax.mail:mail:jar</include>
+                <include>jakarta.mail:jakarta.mail:jar</include>
                 <include>io.dropwizard.metrics:metrics-core:jar</include>
                 <include>org.jboss.netty:netty:jar</include>
                 <include>org.apache.openjpa:openjpa:jar</include>
diff --git a/modules/job-monitor/email-monitor/pom.xml 
b/modules/job-monitor/email-monitor/pom.xml
index 3a062933e8..ac66537f89 100644
--- a/modules/job-monitor/email-monitor/pom.xml
+++ b/modules/job-monitor/email-monitor/pom.xml
@@ -41,12 +41,9 @@
             <artifactId>snakeyaml</artifactId>
         </dependency>
         <dependency>
-            <groupId>javax.mail</groupId>
-            <artifactId>javax.mail-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.sun.mail</groupId>
-            <artifactId>javax.mail</artifactId>
+            <groupId>jakarta.mail</groupId>
+            <artifactId>jakarta.mail-api</artifactId>
+            <version>2.1.2</version>
         </dependency>
     </dependencies>
 </project>
diff --git 
a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/EmailBasedMonitor.java
 
b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/EmailBasedMonitor.java
index 63f9e47ee5..9c35025f26 100644
--- 
a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/EmailBasedMonitor.java
+++ 
b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/EmailBasedMonitor.java
@@ -33,15 +33,15 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.yaml.snakeyaml.Yaml;
 
-import javax.mail.Address;
-import javax.mail.Flags;
-import javax.mail.Folder;
-import javax.mail.Message;
-import javax.mail.MessagingException;
-import javax.mail.Session;
-import javax.mail.Store;
-import javax.mail.search.FlagTerm;
-import javax.mail.search.SearchTerm;
+import jakarta.mail.Address;
+import jakarta.mail.Flags;
+import jakarta.mail.Folder;
+import jakarta.mail.Message;
+import jakarta.mail.MessagingException;
+import jakarta.mail.Session;
+import jakarta.mail.Store;
+import jakarta.mail.search.FlagTerm;
+import jakarta.mail.search.SearchTerm;
 import java.io.InputStream;
 import java.util.*;
 
@@ -193,6 +193,9 @@ public class EmailBasedMonitor extends AbstractMonitor 
implements Runnable {
                         emailFolder = store.getFolder(folderName);
                     }
                     log.info("[EJM]: Retrieving unseen emails");
+                    if (emailFolder == null) {
+                        return;
+                    }
                     emailFolder.open(Folder.READ_WRITE);
                     if (emailFolder.isOpen()) {
                         // flush if any message left in flushUnseenMessage
@@ -228,7 +231,9 @@ public class EmailBasedMonitor extends AbstractMonitor 
implements Runnable {
                 log.error("[EJM]: Caught a throwable ", e);
             } finally {
                 try {
-                    emailFolder.close(false);
+                    if (emailFolder != null) {
+                        emailFolder.close(false);
+                    }
                     store.close();
                 } catch (MessagingException e) {
                     log.error("[EJM]: Store close operation failed, couldn't 
close store", e);
diff --git 
a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/AiravataCustomMailParser.java
 
b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/AiravataCustomMailParser.java
index ae0cecb900..20c561207e 100644
--- 
a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/AiravataCustomMailParser.java
+++ 
b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/AiravataCustomMailParser.java
@@ -26,8 +26,8 @@ import org.apache.airavata.registry.api.RegistryService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.mail.Message;
-import javax.mail.MessagingException;
+import jakarta.mail.Message;
+import jakarta.mail.MessagingException;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
diff --git 
a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/EmailParser.java
 
b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/EmailParser.java
index d76f733c19..2996dd50cd 100644
--- 
a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/EmailParser.java
+++ 
b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/EmailParser.java
@@ -23,8 +23,8 @@ import org.apache.airavata.common.exception.AiravataException;
 import org.apache.airavata.monitor.JobStatusResult;
 import org.apache.airavata.registry.api.RegistryService;
 
-import javax.mail.Message;
-import javax.mail.MessagingException;
+import jakarta.mail.Message;
+import jakarta.mail.MessagingException;
 
 public interface EmailParser {
     static final String STATUS = "status";
diff --git 
a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/HTCondorEmailParser.java
 
b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/HTCondorEmailParser.java
index e91b0153ec..5e9d5d15ee 100644
--- 
a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/HTCondorEmailParser.java
+++ 
b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/HTCondorEmailParser.java
@@ -27,8 +27,8 @@ import org.apache.airavata.registry.api.RegistryService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.mail.Message;
-import javax.mail.MessagingException;
+import jakarta.mail.Message;
+import jakarta.mail.MessagingException;
 import java.io.IOException;
 import java.util.List;
 import java.util.Optional;
diff --git 
a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/LSFEmailParser.java
 
b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/LSFEmailParser.java
index 99660c2ae8..be61fad37e 100644
--- 
a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/LSFEmailParser.java
+++ 
b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/LSFEmailParser.java
@@ -26,8 +26,8 @@ import org.apache.airavata.registry.api.RegistryService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.mail.Message;
-import javax.mail.MessagingException;
+import jakarta.mail.Message;
+import jakarta.mail.MessagingException;
 import java.io.IOException;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
diff --git 
a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/PBSEmailParser.java
 
b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/PBSEmailParser.java
index b0c22988e7..2da293d827 100644
--- 
a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/PBSEmailParser.java
+++ 
b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/PBSEmailParser.java
@@ -26,8 +26,8 @@ import org.apache.airavata.registry.api.RegistryService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.mail.Message;
-import javax.mail.MessagingException;
+import jakarta.mail.Message;
+import jakarta.mail.MessagingException;
 import java.io.IOException;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
diff --git 
a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/SLURMEmailParser.java
 
b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/SLURMEmailParser.java
index eaae04071d..0e8b4b3386 100644
--- 
a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/SLURMEmailParser.java
+++ 
b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/SLURMEmailParser.java
@@ -26,8 +26,8 @@ import org.apache.airavata.registry.api.RegistryService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.mail.Message;
-import javax.mail.MessagingException;
+import jakarta.mail.Message;
+import jakarta.mail.MessagingException;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
diff --git 
a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/UGEEmailParser.java
 
b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/UGEEmailParser.java
index ebaf84d90e..728182d128 100644
--- 
a/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/UGEEmailParser.java
+++ 
b/modules/job-monitor/email-monitor/src/main/java/org/apache/airavata/monitor/email/parser/UGEEmailParser.java
@@ -26,8 +26,8 @@ import org.apache.airavata.registry.api.RegistryService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.mail.Message;
-import javax.mail.MessagingException;
+import jakarta.mail.Message;
+import jakarta.mail.MessagingException;
 import java.io.IOException;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
diff --git a/modules/job-monitor/pom.xml b/modules/job-monitor/pom.xml
index dc8657564d..8a62fcc7b2 100644
--- a/modules/job-monitor/pom.xml
+++ b/modules/job-monitor/pom.xml
@@ -44,14 +44,9 @@
                 <version>1.15</version>
             </dependency>
             <dependency>
-                <groupId>javax.mail</groupId>
-                <artifactId>javax.mail-api</artifactId>
-                <version>1.6.2</version>
-            </dependency>
-            <dependency>
-                <groupId>com.sun.mail</groupId>
-                <artifactId>javax.mail</artifactId>
-                <version>1.6.2</version>
+                <groupId>jakarta.mail</groupId>
+                <artifactId>jakarta.mail-api</artifactId>
+                <version>2.1.2</version>
             </dependency>
             <dependency>
                 <groupId>org.apache.airavata</groupId>
diff --git a/pom.xml b/pom.xml
index 558f017b8d..65e844913b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -155,7 +155,7 @@
         
<org.apache.commons.pool2.version>2.7.0</org.apache.commons.pool2.version>
         <helix.version>0.9.7</helix.version>
         <keycloak.admin.client.version>24.0.4</keycloak.admin.client.version>
-        <rest.easy.client.version>6.2.8.Final</rest.easy.client.version>
+        <rest.easy.client.version>6.2.12.Final</rest.easy.client.version>
         <httpclient.version>4.5.14</httpclient.version>
         <codehaus.jackson.version>1.9.13</codehaus.jackson.version>
         <spring.boot.version>3.2.4</spring.boot.version>
diff --git a/tools/load-client/pom.xml b/tools/load-client/pom.xml
index 499eb83329..3d880b001a 100644
--- a/tools/load-client/pom.xml
+++ b/tools/load-client/pom.xml
@@ -28,6 +28,12 @@
             <groupId>org.keycloak</groupId>
             <artifactId>keycloak-admin-client</artifactId>
             <version>${keycloak.admin.client.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.eclipse.angus</groupId>
+                    <artifactId>angus-mail</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.apache.airavata</groupId>

Reply via email to