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

ilgrosso pushed a commit to branch 3_0_X
in repository https://gitbox.apache.org/repos/asf/syncope.git


The following commit(s) were added to refs/heads/3_0_X by this push:
     new 4c3a8c7970 Including MACRO task startup loading
4c3a8c7970 is described below

commit 4c3a8c79707687a2453a0e6dc100afd872d336a5
Author: Francesco Chicchiriccò <[email protected]>
AuthorDate: Fri Jan 3 08:56:13 2025 +0100

    Including MACRO task startup loading
---
 .github/workflows/codeql-analysis.yml              |  2 +-
 .github/workflows/crosschecks.yml                  |  2 +-
 .github/workflows/dockerhub.yml                    |  2 +-
 .github/workflows/fit_Elasticsearch.yml            |  2 +-
 .github/workflows/fit_OpenSearch.yml               |  2 +-
 .github/workflows/fit_Payara.yml                   |  2 +-
 .github/workflows/fit_Tomcat_H2_JSON.yml           |  2 +-
 .github/workflows/fit_Tomcat_H2_XML.yml            |  2 +-
 .github/workflows/fit_Tomcat_H2_YAML.yml           |  2 +-
 .github/workflows/fit_WA_SAML2PS4UI_OIDCC4UI.yml   |  2 +-
 .github/workflows/fit_WA_SRA_CASClient.yml         |  2 +-
 .github/workflows/fit_WA_SRA_OAuth2.yml            |  2 +-
 .github/workflows/fit_WA_SRA_OIDC.yml              |  2 +-
 .github/workflows/fit_WA_SRA_SAML2.yml             |  2 +-
 .github/workflows/fit_Wildfly.yml                  |  2 +-
 .github/workflows/fit_Zookeeper.yml                |  2 +-
 .github/workflows/mariadb.yml                      |  4 +-
 .github/workflows/mysql.yml                        |  4 +-
 .github/workflows/oracle.yml                       |  4 +-
 .github/workflows/postgresql.yml                   |  4 +-
 .../provisioning/java/job/DefaultJobManager.java   | 59 +++++++++++++---------
 pom.xml                                            |  4 +-
 22 files changed, 62 insertions(+), 49 deletions(-)

diff --git a/.github/workflows/codeql-analysis.yml 
b/.github/workflows/codeql-analysis.yml
index f776823469..ebd3461f93 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -54,7 +54,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
diff --git a/.github/workflows/crosschecks.yml 
b/.github/workflows/crosschecks.yml
index a0307ebe14..81f9dee722 100644
--- a/.github/workflows/crosschecks.yml
+++ b/.github/workflows/crosschecks.yml
@@ -47,7 +47,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
diff --git a/.github/workflows/dockerhub.yml b/.github/workflows/dockerhub.yml
index 66c40fdfda..f35c980883 100644
--- a/.github/workflows/dockerhub.yml
+++ b/.github/workflows/dockerhub.yml
@@ -64,7 +64,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
diff --git a/.github/workflows/fit_Elasticsearch.yml 
b/.github/workflows/fit_Elasticsearch.yml
index c3af578546..df2c8a6c91 100644
--- a/.github/workflows/fit_Elasticsearch.yml
+++ b/.github/workflows/fit_Elasticsearch.yml
@@ -40,7 +40,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
diff --git a/.github/workflows/fit_OpenSearch.yml 
b/.github/workflows/fit_OpenSearch.yml
index d68003efc9..5c002befcb 100644
--- a/.github/workflows/fit_OpenSearch.yml
+++ b/.github/workflows/fit_OpenSearch.yml
@@ -40,7 +40,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
diff --git a/.github/workflows/fit_Payara.yml b/.github/workflows/fit_Payara.yml
index 5492d5707a..313830e3e2 100644
--- a/.github/workflows/fit_Payara.yml
+++ b/.github/workflows/fit_Payara.yml
@@ -40,7 +40,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
diff --git a/.github/workflows/fit_Tomcat_H2_JSON.yml 
b/.github/workflows/fit_Tomcat_H2_JSON.yml
index 1b642fbdd6..0662ddc0a7 100644
--- a/.github/workflows/fit_Tomcat_H2_JSON.yml
+++ b/.github/workflows/fit_Tomcat_H2_JSON.yml
@@ -40,7 +40,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
diff --git a/.github/workflows/fit_Tomcat_H2_XML.yml 
b/.github/workflows/fit_Tomcat_H2_XML.yml
index 8ce9581558..6085fd5a0a 100644
--- a/.github/workflows/fit_Tomcat_H2_XML.yml
+++ b/.github/workflows/fit_Tomcat_H2_XML.yml
@@ -40,7 +40,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
diff --git a/.github/workflows/fit_Tomcat_H2_YAML.yml 
b/.github/workflows/fit_Tomcat_H2_YAML.yml
index 4e5d8f8314..84a5c22153 100644
--- a/.github/workflows/fit_Tomcat_H2_YAML.yml
+++ b/.github/workflows/fit_Tomcat_H2_YAML.yml
@@ -40,7 +40,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
diff --git a/.github/workflows/fit_WA_SAML2PS4UI_OIDCC4UI.yml 
b/.github/workflows/fit_WA_SAML2PS4UI_OIDCC4UI.yml
index 7d3456c1c8..dc8c3a98e7 100644
--- a/.github/workflows/fit_WA_SAML2PS4UI_OIDCC4UI.yml
+++ b/.github/workflows/fit_WA_SAML2PS4UI_OIDCC4UI.yml
@@ -40,7 +40,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
diff --git a/.github/workflows/fit_WA_SRA_CASClient.yml 
b/.github/workflows/fit_WA_SRA_CASClient.yml
index 11f4e1ba47..d37ea9c45e 100644
--- a/.github/workflows/fit_WA_SRA_CASClient.yml
+++ b/.github/workflows/fit_WA_SRA_CASClient.yml
@@ -40,7 +40,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
diff --git a/.github/workflows/fit_WA_SRA_OAuth2.yml 
b/.github/workflows/fit_WA_SRA_OAuth2.yml
index cf7a94f556..26a254753e 100644
--- a/.github/workflows/fit_WA_SRA_OAuth2.yml
+++ b/.github/workflows/fit_WA_SRA_OAuth2.yml
@@ -40,7 +40,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
diff --git a/.github/workflows/fit_WA_SRA_OIDC.yml 
b/.github/workflows/fit_WA_SRA_OIDC.yml
index 1ac03a0e76..659b3659b8 100644
--- a/.github/workflows/fit_WA_SRA_OIDC.yml
+++ b/.github/workflows/fit_WA_SRA_OIDC.yml
@@ -40,7 +40,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
diff --git a/.github/workflows/fit_WA_SRA_SAML2.yml 
b/.github/workflows/fit_WA_SRA_SAML2.yml
index 2fd3141413..6339804f4e 100644
--- a/.github/workflows/fit_WA_SRA_SAML2.yml
+++ b/.github/workflows/fit_WA_SRA_SAML2.yml
@@ -40,7 +40,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
diff --git a/.github/workflows/fit_Wildfly.yml 
b/.github/workflows/fit_Wildfly.yml
index 4988802597..c6e073acd4 100644
--- a/.github/workflows/fit_Wildfly.yml
+++ b/.github/workflows/fit_Wildfly.yml
@@ -40,7 +40,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
diff --git a/.github/workflows/fit_Zookeeper.yml 
b/.github/workflows/fit_Zookeeper.yml
index f65ff2522f..3bf676e6ac 100644
--- a/.github/workflows/fit_Zookeeper.yml
+++ b/.github/workflows/fit_Zookeeper.yml
@@ -40,7 +40,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
diff --git a/.github/workflows/mariadb.yml b/.github/workflows/mariadb.yml
index 04abb3dfca..536b5b7291 100644
--- a/.github/workflows/mariadb.yml
+++ b/.github/workflows/mariadb.yml
@@ -40,7 +40,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
@@ -66,7 +66,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
diff --git a/.github/workflows/mysql.yml b/.github/workflows/mysql.yml
index ecfbd07826..26b3e1755d 100644
--- a/.github/workflows/mysql.yml
+++ b/.github/workflows/mysql.yml
@@ -40,7 +40,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
@@ -66,7 +66,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
diff --git a/.github/workflows/oracle.yml b/.github/workflows/oracle.yml
index b5c4699eb3..35896c80c4 100644
--- a/.github/workflows/oracle.yml
+++ b/.github/workflows/oracle.yml
@@ -40,7 +40,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
@@ -66,7 +66,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
diff --git a/.github/workflows/postgresql.yml b/.github/workflows/postgresql.yml
index c40e1cc78f..61877c3ff6 100644
--- a/.github/workflows/postgresql.yml
+++ b/.github/workflows/postgresql.yml
@@ -40,7 +40,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
@@ -66,7 +66,7 @@ jobs:
     - name: Setup Maven
       uses: stCarolas/setup-maven@v5
       with:
-        maven-version: 3.9.9
+        maven-version: 3.9.6
     - uses: actions/cache@v4
       with:
         path: ~/.m2/repository
diff --git 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/DefaultJobManager.java
 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/DefaultJobManager.java
index c467151fb5..3ff6232245 100644
--- 
a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/DefaultJobManager.java
+++ 
b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/job/DefaultJobManager.java
@@ -306,52 +306,47 @@ public class DefaultJobManager implements JobManager, 
SyncopeCoreLoader {
             return;
         }
 
-        String notificationJobCronExp = 
AuthContextUtils.callAsAdmin(SyncopeConstants.MASTER_DOMAIN, () -> {
-            String result = StringUtils.EMPTY;
-
-            String conf = confParamOps.get(
-                    SyncopeConstants.MASTER_DOMAIN, 
"notificationjob.cronExpression", null, String.class);
-            if (conf == null) {
-                result = NotificationJob.DEFAULT_CRON_EXP;
-            } else if (!StringUtils.EMPTY.equals(conf)) {
-                result = conf;
-            }
-            return result;
-        });
-
         AuthContextUtils.callAsAdmin(domain, () -> {
             // 1. jobs for SchedTasks
             Set<SchedTask> tasks = new 
HashSet<>(taskDAO.<SchedTask>findAll(TaskType.SCHEDULED));
             tasks.addAll(taskDAO.<SchedTask>findAll(TaskType.PULL));
             tasks.addAll(taskDAO.<SchedTask>findAll(TaskType.PUSH));
+            tasks.addAll(taskDAO.<SchedTask>findAll(TaskType.MACRO));
 
             boolean loadException = false;
             for (Iterator<SchedTask> it = tasks.iterator(); it.hasNext() && 
!loadException;) {
                 SchedTask task = it.next();
+
+                LOG.debug("Loading job for {} Task {} {}",
+                        taskUtilsFactory.getInstance(task).getType(), 
task.getKey(), task.getName());
+
                 try {
                     register(task, task.getStartAt(), 
securityProperties.getAdminUser());
                 } catch (Exception e) {
-                    LOG.error("While loading job instance for task " + 
task.getKey(), e);
+                    LOG.error("While loading job instance for task {}", 
task.getKey(), e);
                     loadException = true;
                 }
             }
 
             if (loadException) {
-                LOG.debug("Errors while loading job instances for tasks, 
aborting");
+                LOG.error("Errors while loading job for tasks, aborting");
             } else {
                 // 2. jobs for Reports
-                for (Iterator<Report> it = reportDAO.findAll().iterator(); 
it.hasNext() && !loadException;) {
+                for (Iterator<? extends Report> it = 
reportDAO.findAll().iterator(); it.hasNext() && !loadException;) {
                     Report report = it.next();
+
+                    LOG.debug("Loading job for Report {} {}", report.getKey(), 
report.getName());
+
                     try {
                         register(report, null, 
securityProperties.getAdminUser());
                     } catch (Exception e) {
-                        LOG.error("While loading job instance for report " + 
report.getName(), e);
+                        LOG.error("While loading job instance for report {}", 
report.getName(), e);
                         loadException = true;
                     }
                 }
 
                 if (loadException) {
-                    LOG.debug("Errors while loading job instances for reports, 
aborting");
+                    LOG.error("Errors while loading job for reports, 
aborting");
                 }
             }
 
@@ -359,12 +354,24 @@ public class DefaultJobManager implements JobManager, 
SyncopeCoreLoader {
         });
 
         if (SyncopeConstants.MASTER_DOMAIN.equals(domain)) {
+            String notificationJobCronExp = 
AuthContextUtils.callAsAdmin(SyncopeConstants.MASTER_DOMAIN, () -> {
+                String result = StringUtils.EMPTY;
+
+                String conf = confParamOps.get(
+                        SyncopeConstants.MASTER_DOMAIN, 
"notificationjob.cronExpression", null, String.class);
+                if (conf == null) {
+                    result = NotificationJob.DEFAULT_CRON_EXP;
+                } else if (!StringUtils.EMPTY.equals(conf)) {
+                    result = conf;
+                }
+                return result;
+            });
+
             // 3. NotificationJob
             if (StringUtils.isBlank(notificationJobCronExp)) {
-                LOG.debug("Empty value provided for {}'s cron, not registering 
anything on Quartz",
-                        NotificationJob.class.getSimpleName());
+                LOG.debug("Empty value provided for {}'s cron, not 
scheduling", NotificationJob.class.getSimpleName());
             } else {
-                LOG.debug("{}'s cron expression: {} - registering Quartz job 
and trigger",
+                LOG.debug("{}'s cron expression: {} - scheduling",
                         NotificationJob.class.getSimpleName(), 
notificationJobCronExp);
 
                 try {
@@ -403,21 +410,27 @@ public class DefaultJobManager implements JobManager, 
SyncopeCoreLoader {
             Set<SchedTask> tasks = new 
HashSet<>(taskDAO.<SchedTask>findAll(TaskType.SCHEDULED));
             tasks.addAll(taskDAO.<SchedTask>findAll(TaskType.PULL));
             tasks.addAll(taskDAO.<SchedTask>findAll(TaskType.PUSH));
+            tasks.addAll(taskDAO.<SchedTask>findAll(TaskType.MACRO));
 
             tasks.forEach(task -> {
+                LOG.debug("Unloading job for {} Task {} {}",
+                        taskUtilsFactory.getInstance(task).getType(), 
task.getKey(), task.getName());
+
                 try {
                     unregister(task);
                 } catch (Exception e) {
-                    LOG.error("While unloading job instance for task " + 
task.getKey(), e);
+                    LOG.error("While unloading job for task {}", 
task.getKey(), e);
                 }
             });
 
             // 2. jobs for Reports
             reportDAO.findAll().forEach(report -> {
+                LOG.debug("Unloading job for Report {} {}", report.getKey(), 
report.getName());
+
                 try {
                     unregister(report);
                 } catch (Exception e) {
-                    LOG.error("While unloading job instance for report " + 
report.getName(), e);
+                    LOG.error("While unloading job for report {}", 
report.getName(), e);
                 }
             });
 
diff --git a/pom.xml b/pom.xml
index 75cbc8f84a..bafe4b2007 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1823,7 +1823,7 @@ under the License.
                   <version>${targetJdk}</version>
                 </requireJavaVersion>
                 <requireMavenVersion>
-                  <version>3.9.9</version>
+                  <version>3.9.5</version>
                 </requireMavenVersion>
               </rules>
             </configuration>
@@ -1898,7 +1898,7 @@ under the License.
       <plugin>
         <groupId>org.codehaus.gmavenplus</groupId>
         <artifactId>gmavenplus-plugin</artifactId>
-        <version>4.1.0</version>
+        <version>4.1.1</version>
         <dependencies>
           <dependency>
             <groupId>org.apache.groovy</groupId>

Reply via email to