diff --git a/jans-keycloak-integration/job-scheduler/src/main/java/io/jans/kc/scheduler/App.java b/jans-keycloak-integration/job-scheduler/src/main/java/io/jans/kc/scheduler/App.java
index 38144371dba..8a2fb3c8542 100644
--- a/jans-keycloak-integration/job-scheduler/src/main/java/io/jans/kc/scheduler/App.java
+++ b/jans-keycloak-integration/job-scheduler/src/main/java/io/jans/kc/scheduler/App.java
@@ -49,6 +49,7 @@ public class App {
private static KeycloakApiFactory keycloakApiFactory = null;
private static boolean running = false;
+ private static boolean isCronJob = true;
/*
* Entry point
*/
@@ -69,23 +70,24 @@ public static void main(String[] args) throws InterruptedException, ParserCreate
log.debug("Initialization additional application objects");
SAXUtils.init();
- log.debug("Initializing scheduler ");
- jobScheduler = createJobScheduler(config);
- startJobScheduler(jobScheduler);
-
- log.debug("Starting jans trust relationship sync job");
- startJansTrustRelationshipSyncJob(config);
-
-
-
- log.debug("Performing post-startup operations");
- performPostStartupOperations();
-
- log.debug("Application startup successful");
- while(running) {
- Thread.sleep(1000);
+ if(isCronJob) {
+ log.debug("Running as cron, skiping scheduler initialization");
+ runCronJobs();
+ log.debug("Jobs run to completion.");
+ }else {
+ log.debug("Not running as cron job. Initializing scheduler");
+ jobScheduler = createJobScheduler(config);
+ startJobScheduler(jobScheduler);
+ log.debug("Starting jans trust relationship sync job");
+ startJansTrustRelationshipSyncJob(config);
+ log.debug("Performing post-startup operations");
+ performPostStartupOperations();
+ log.debug("Application startup successful");
+ while(running) {
+ Thread.sleep(1000);
+ }
}
- log.debug("Application shutting down");
+ log.info("Application shutthing down");
}catch(StartupError e) {
log.error("Application startup failed",e);
if(jobScheduler != null) {
@@ -159,6 +161,14 @@ private static final JobScheduler createQuartzJobSchedulerFromConfiguration(AppC
}
}
+ private static final void runCronJobs() {
+
+ log.debug("Running trust relationship sync cron job");
+ TrustRelationshipSyncJob trsyncjob = new TrustRelationshipSyncJob();
+ trsyncjob.run(null);
+ log.debug("Trust relationship sync cron job complete");
+ }
+
private static final void performPostStartupOperations() {
running = true;
diff --git a/jans-keycloak-integration/job-scheduler/src/main/java/io/jans/kc/scheduler/TrustRelationshipSyncJob.java b/jans-keycloak-integration/job-scheduler/src/main/java/io/jans/kc/scheduler/TrustRelationshipSyncJob.java
index 9e776df4fb9..df165020df0 100644
--- a/jans-keycloak-integration/job-scheduler/src/main/java/io/jans/kc/scheduler/TrustRelationshipSyncJob.java
+++ b/jans-keycloak-integration/job-scheduler/src/main/java/io/jans/kc/scheduler/TrustRelationshipSyncJob.java
@@ -50,8 +50,13 @@ public TrustRelationshipSyncJob() {
@Override
public void run(ExecutionContext context) {
- try {
+ performSyncTasks();
+ }
+
+ private void performSyncTasks() {
+
+ try {
log.debug("Performing Saml client housekeeping");
performSamlClientsHousekeeping();
log.debug("Saml client housekeeping complete");
diff --git a/jans-keycloak-integration/pom.xml b/jans-keycloak-integration/pom.xml
index 0f64c4ab2af..6e5c62da134 100644
--- a/jans-keycloak-integration/pom.xml
+++ b/jans-keycloak-integration/pom.xml
@@ -60,7 +60,6 @@
authenticator
storage-spi
job-scheduler
- protocol-mapper