EN · DE · RU · FR · ES

#484: ExternalCalendarSubscriptionJob.java

projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java Java-класс, projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java 53 строки · 24 кода · 23 комментария · 6 пустых
Назначение: Исходный файл: projectforge/business/jobs/ExternalCalendarSubscriptionJob.java. ExternalCalendarSubscriptionJob.java является частью приложения для управления проектами с открытым исходным кодом ProjectForge.

Исходный код (первые 100 строк)

/////////////////////////////////////////////////////////////////////////////
//
// Project ProjectForge Community Edition
//         www.projectforge.org
//
// Copyright (C) 2001-2026 Micromata GmbH, Germany (www.micromata.com)
//
// ProjectForge распространяется по двойной лицензии.
//
// Данная редакция Community Edition является свободным программным обеспечением;
// вы можете распространять и/или изменять её в соответствии с условиями
// Стандартной общественной лицензии GNU (GNU General Public License) версии 3,
// опубликованной Фондом свободного программного обеспечения (Free Software Foundation).
//
// Эта редакция распространяется в надежде, что она будет полезной,
// но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии
// КОММЕРЧЕСКОЙ ЦЕННОСТИ или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. См.
// Стандартную общественную лицензию GNU для получения более подробной информации.
//
// Вы должны были получить копию Стандартной общественной лицензии GNU
// вместе с этой программой; если нет, см. http://www.gnu.org/licenses/.
//
/////////////////////////////////////////////////////////////////////////////

package org.projectforge.business.jobs;

import org.projectforge.business.teamcal.externalsubscription.TeamEventExternalSubscriptionCache;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class ExternalCalendarSubscriptionJob {
    private static final org.slf4j.Logger log = org.slf4j.LoggerFactory
            .getLogger(ExternalCalendarSubscriptionJob.class);

    @Autowired
    private TeamEventExternalSubscriptionCache teamEventExternalSubscriptionCache;

    //@Scheduled(cron = "0 */15 * * * *")
    @Scheduled(cron = "${projectforge.cron.externalCalendar}")
    public void execute() {
        new Thread(() -> {
            log.info("Задание внешних подписок на календари запущено.");
            try {
                teamEventExternalSubscriptionCache.updateCache();
            } catch (final Throwable ex) {
                log.error("Исключение при выполнении ExternalCalendarSubscriptionJob: " + ex.getMessage());
            }
            log.info("Задание внешних подписок на календари завершено.");
        }).start();
    }

}

История Git

868d6abb7 2025 -> 2026
2cf5332b3 Добавлен поиск затрат для Fakturafuexe (для копирования номеров затрат в DATEV).
2720010a9 Плановые задания: теперь все задания запускаются в собственном потоке (для предотвращения блокировки планировщика Spring). SipgateContactSyncservice: настраивается как cron-задание. ForecastExport: незначительное исправление.
63081666f Заголовки исходных файлов: 2024 -> 2025.
b6092df09 Авторские права 2023 -> 2024

868d6abb7

2025 -> 2026
868d6abb75cd191a892911ac8e45058932cf9074
diff --git a/projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java b/projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java
index 8ab3f437d..d3111bc55 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java
@@ -3,7 +3,7 @@
 // Project ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2025 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2026 Micromata GmbH, Germany (www.micromata.com)
 //
 // ProjectForge is dual-licensed.
 //

2cf5332b3

Добавлен поиск затрат для Fakturafuexe (для копирования номеров затрат в DATEV).
2cf5332b31de60e1553fa8ece2fe6971f8222ce1
diff --git a/projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java b/projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java
index 6f090f595..8ab3f437d 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java
@@ -1,4 +1,4 @@
-/// //////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////
 //
 // Project ProjectForge Community Edition
 //         www.projectforge.org

2720010a9

Плановые задания: теперь все задания запускаются в собственном потоке (для предотвращения блокировки планировщика Spring). SipgateContactSyncservice: настраивается как cron-задание. ForecastExport: незначительное исправление.
2720010a97491af28ccf78ece8dea4adbbaa977c
diff --git a/projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java b/projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java
index a5be02410..6f090f595 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java
@@ -1,4 +1,4 @@
-/////////////////////////////////////////////////////////////////////////////
+/// //////////////////////////////////////////////////////////////////////////
 //
 // Project ProjectForge Community Edition
 //         www.projectforge.org
@@ -29,25 +29,25 @@ import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
 @Component
-public class ExternalCalendarSubscriptionJob
-{
-  private static final org.slf4j.Logger log = org.slf4j.LoggerFactory
-      .getLogger(ExternalCalendarSubscriptionJob.class);
+public class ExternalCalendarSubscriptionJob {
+    private static final org.slf4j.Logger log = org.slf4j.LoggerFactory
+            .getLogger(ExternalCalendarSubscriptionJob.class);
 
-  @Autowired
-  private TeamEventExternalSubscriptionCache teamEventExternalSubscriptionCache;
+    @Autowired
+    private TeamEventExternalSubscriptionCache teamEventExternalSubscriptionCache;
 
-  //@Scheduled(cron = "0 */15 * * * *")
-  @Scheduled(cron = "${projectforge.cron.externalCalendar}")
-  public void execute()
-  {
-    log.info("External calendar subscriptions job started.");
-    try {
-      teamEventExternalSubscriptionCache.updateCache();
-    } catch (final Throwable ex) {
-      log.error("Exception while executing ExternalCalendarSubscriptionJob: " + ex.getMessage());
+    //@Scheduled(cron = "0 */15 * * * *")
+    @Scheduled(cron = "${projectforge.cron.externalCalendar}")
+    public void execute() {
+        new Thread(() -> {
+            log.info("External calendar subscriptions job started.");
+            try {
+                teamEventExternalSubscriptionCache.updateCache();
+            } catch (final Throwable ex) {
+                log.error("Exception while executing ExternalCalendarSubscriptionJob: " + ex.getMessage());
+            }
+            log.info("External calendar subscriptions job finished.");
+        }).start();
     }
-    log.info("External calendar subscriptions job finished.");
-  }
 
 }

63081666f

Заголовки исходных файлов: 2024 -> 2025.
63081666f620fb87315f01b817e560e0b2f6a33a
diff --git a/projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java b/projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java
index 579a24512..a5be02410 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java
@@ -3,7 +3,7 @@
 // Project ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2024 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2025 Micromata GmbH, Germany (www.micromata.com)
 //
 // ProjectForge is dual-licensed.
 //

b6092df09

Авторские права 2023 -> 2024
b6092df0927c4a3b161e888445f31dcab57493f2
diff --git a/projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java b/projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java
index 23105caef..579a24512 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/jobs/ExternalCalendarSubscriptionJob.java
@@ -3,7 +3,7 @@
 // Project ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2023 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2024 Micromata GmbH, Germany (www.micromata.com)
 //
 // ProjectForge is dual-licensed.
 //