124         UserStorageProviderFactory factory = (UserStorageProviderFactory) sessionFactory.getProviderFactory(UserStorageProvider.class, provider.getProviderId());
   125         if (!(factory instanceof ImportSynchronization) || !provider.isImportEnabled() || !provider.isEnabled()) {
   126             return SynchronizationResult.ignored();
   129         final Holder holder = 
new Holder();
   132         KeycloakModelUtils.runJobInTransaction(sessionFactory, 
new KeycloakSessionTask() {
   135             public void run(KeycloakSession session) {
   136                 ClusterProvider clusterProvider = session.getProvider(ClusterProvider.class);
   138                 String taskKey = provider.getId() + 
"::sync";
   141                 int timeout = Math.max(30, provider.getChangedSyncPeriod());
   142                 holder.result = clusterProvider.executeIfNotExecuted(taskKey, timeout, 
new Callable<SynchronizationResult>() {
   145                     public SynchronizationResult call() throws Exception {
   147                         int oldLastSync = provider.getLastSync();
   149                         return ((ImportSynchronization)factory).syncSince(Time.toDate(oldLastSync), sessionFactory, realmId, provider);
   157         if (holder.result == null || !holder.result.isExecuted()) {
   158             logger.debugf(
"syncChangedUsers for federation provider %s was ignored as it's already in progress", provider.getName());
   159             return SynchronizationResult.ignored();
   161             return holder.result.getResult();
 void updateLastSyncInterval(final KeycloakSessionFactory sessionFactory, UserStorageProviderModel provider, final String realmId)
Definition: UserStorageSyncManager.java:251
 
static final Logger logger
Definition: UserStorageSyncManager.java:48