You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2023/04/01 10:28:25 UTC
[camel] branch main updated: CAMEL-15105: make the PeriodTaskResolver a plugin of the context
This is an automated email from the ASF dual-hosted git repository.
orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 02cc35d1ff5 CAMEL-15105: make the PeriodTaskResolver a plugin of the context
02cc35d1ff5 is described below
commit 02cc35d1ff5a989227c9b65c686c4aacac7b17be
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Sat Apr 1 09:35:23 2023 +0200
CAMEL-15105: make the PeriodTaskResolver a plugin of the context
---
.../java/org/apache/camel/ExtendedCamelContext.java | 11 -----------
.../apache/camel/impl/engine/AbstractCamelContext.java | 2 +-
.../impl/engine/DefaultCamelContextExtension.java | 18 ------------------
.../camel/impl/ExtendedCamelContextConfigurer.java | 6 ------
.../impl/lw/LightweightCamelContextExtension.java | 11 -----------
.../java/org/apache/camel/main/BaseMainSupport.java | 12 ++++++------
.../java/org/apache/camel/support/PluginHelper.java | 15 +++++++++++++++
7 files changed, 22 insertions(+), 53 deletions(-)
diff --git a/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java b/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java
index 9f6b387c643..e3ff1eb98f7 100644
--- a/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java
+++ b/core/camel-api/src/main/java/org/apache/camel/ExtendedCamelContext.java
@@ -45,7 +45,6 @@ import org.apache.camel.spi.LogListener;
import org.apache.camel.spi.ManagementMBeanAssembler;
import org.apache.camel.spi.ModelToXMLDumper;
import org.apache.camel.spi.NormalizedEndpointUri;
-import org.apache.camel.spi.PeriodTaskResolver;
import org.apache.camel.spi.PeriodTaskScheduler;
import org.apache.camel.spi.PluginManager;
import org.apache.camel.spi.ProcessorExchangeFactory;
@@ -693,16 +692,6 @@ public interface ExtendedCamelContext {
*/
void setPeriodTaskScheduler(PeriodTaskScheduler periodTaskScheduler);
- /**
- * Gets the period task resolver
- */
- PeriodTaskResolver getPeriodTaskResolver();
-
- /**
- * To use a custom period task resolver
- */
- void setPeriodTaskResolver(PeriodTaskResolver periodTaskResolver);
-
/**
* Gets access to the internal plugin manager
*
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
index 974bdc9e9ff..463ff7bf548 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
@@ -224,7 +224,6 @@ public abstract class AbstractCamelContext extends BaseService
volatile RestBindingJaxbDataFormatFactory restBindingJaxbDataFormatFactory;
volatile RuntimeCamelCatalog runtimeCamelCatalog;
volatile ProcessorFactory processorFactory;
- volatile PeriodTaskResolver periodTaskResolver;
volatile PeriodTaskScheduler periodTaskScheduler;
volatile InternalProcessorFactory internalProcessorFactory;
volatile InterceptEndpointFactory interceptEndpointFactory;
@@ -380,6 +379,7 @@ public abstract class AbstractCamelContext extends BaseService
camelContextExtension.lazyAddContextPlugin(ModelineFactory.class, this::createModelineFactory);
camelContextExtension.lazyAddContextPlugin(ModelJAXBContextFactory.class, this::createModelJAXBContextFactory);
camelContextExtension.addContextPlugin(DataFormatResolver.class, createDataFormatResolver());
+ camelContextExtension.lazyAddContextPlugin(PeriodTaskResolver.class, this::createPeriodTaskResolver);
if (build) {
try {
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java
index cb23b93b38f..35514f8e210 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java
@@ -64,7 +64,6 @@ import org.apache.camel.spi.ManagementStrategy;
import org.apache.camel.spi.ManagementStrategyFactory;
import org.apache.camel.spi.ModelToXMLDumper;
import org.apache.camel.spi.NormalizedEndpointUri;
-import org.apache.camel.spi.PeriodTaskResolver;
import org.apache.camel.spi.PeriodTaskScheduler;
import org.apache.camel.spi.PluginManager;
import org.apache.camel.spi.ProcessorExchangeFactory;
@@ -366,23 +365,6 @@ class DefaultCamelContextExtension implements ExtendedCamelContext {
return factories.computeIfAbsent(path, camelContext::createFactoryFinder);
}
- @Override
- public PeriodTaskResolver getPeriodTaskResolver() {
- if (camelContext.periodTaskResolver == null) {
- synchronized (camelContext.lock) {
- if (camelContext.periodTaskResolver == null) {
- setPeriodTaskResolver(camelContext.createPeriodTaskResolver());
- }
- }
- }
- return camelContext.periodTaskResolver;
- }
-
- @Override
- public void setPeriodTaskResolver(PeriodTaskResolver periodTaskResolver) {
- camelContext.periodTaskResolver = camelContext.getInternalServiceManager().addService(periodTaskResolver);
- }
-
public PeriodTaskScheduler getPeriodTaskScheduler() {
if (camelContext.periodTaskScheduler == null) {
synchronized (camelContext.lock) {
diff --git a/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java b/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java
index 4d704f4dae6..1abc1508172 100644
--- a/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java
+++ b/core/camel-core-engine/src/generated/java/org/apache/camel/impl/ExtendedCamelContextConfigurer.java
@@ -59,8 +59,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
case "ModelToXMLDumper": target.setModelToXMLDumper(property(camelContext, org.apache.camel.spi.ModelToXMLDumper.class, value)); return true;
case "name":
case "Name": target.setName(property(camelContext, java.lang.String.class, value)); return true;
- case "periodtaskresolver":
- case "PeriodTaskResolver": target.setPeriodTaskResolver(property(camelContext, org.apache.camel.spi.PeriodTaskResolver.class, value)); return true;
case "periodtaskscheduler":
case "PeriodTaskScheduler": target.setPeriodTaskScheduler(property(camelContext, org.apache.camel.spi.PeriodTaskScheduler.class, value)); return true;
case "processorexchangefactory":
@@ -130,8 +128,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
case "ModelToXMLDumper": return org.apache.camel.spi.ModelToXMLDumper.class;
case "name":
case "Name": return java.lang.String.class;
- case "periodtaskresolver":
- case "PeriodTaskResolver": return org.apache.camel.spi.PeriodTaskResolver.class;
case "periodtaskscheduler":
case "PeriodTaskScheduler": return org.apache.camel.spi.PeriodTaskScheduler.class;
case "processorexchangefactory":
@@ -202,8 +198,6 @@ public class ExtendedCamelContextConfigurer extends org.apache.camel.support.com
case "ModelToXMLDumper": return target.getModelToXMLDumper();
case "name":
case "Name": return target.getName();
- case "periodtaskresolver":
- case "PeriodTaskResolver": return target.getPeriodTaskResolver();
case "periodtaskscheduler":
case "PeriodTaskScheduler": return target.getPeriodTaskScheduler();
case "processorexchangefactory":
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContextExtension.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContextExtension.java
index c8602079b6f..f805740ed97 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContextExtension.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/lw/LightweightCamelContextExtension.java
@@ -59,7 +59,6 @@ import org.apache.camel.spi.LogListener;
import org.apache.camel.spi.ManagementMBeanAssembler;
import org.apache.camel.spi.ModelToXMLDumper;
import org.apache.camel.spi.NormalizedEndpointUri;
-import org.apache.camel.spi.PeriodTaskResolver;
import org.apache.camel.spi.PeriodTaskScheduler;
import org.apache.camel.spi.PluginManager;
import org.apache.camel.spi.ProcessorExchangeFactory;
@@ -694,11 +693,6 @@ class LightweightCamelContextExtension implements ExtendedCamelContext {
throw new UnsupportedOperationException();
}
- @Override
- public PeriodTaskResolver getPeriodTaskResolver() {
- return camelContext.getCamelContextExtension().getPeriodTaskResolver();
- }
-
@Override
public void setPeriodTaskScheduler(PeriodTaskScheduler periodTaskScheduler) {
throw new UnsupportedOperationException();
@@ -709,11 +703,6 @@ class LightweightCamelContextExtension implements ExtendedCamelContext {
return camelContext.getCamelContextExtension().getPeriodTaskScheduler();
}
- @Override
- public void setPeriodTaskResolver(PeriodTaskResolver periodTaskResolver) {
- throw new UnsupportedOperationException();
- }
-
@Override
public PluginManager getPluginManager() {
return camelContext.getCamelContextExtension().getPluginManager();
diff --git a/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java b/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java
index 14a5a091135..2eb09f00fc8 100644
--- a/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java
+++ b/core/camel-main/src/main/java/org/apache/camel/main/BaseMainSupport.java
@@ -398,8 +398,8 @@ public abstract class BaseMainSupport extends BaseService {
}
if (vc.aws().isRefreshEnabled()) {
- Optional<Runnable> task = camelContext.getCamelContextExtension()
- .getPeriodTaskResolver().newInstance("aws-secret-refresh", Runnable.class);
+ Optional<Runnable> task = PluginHelper.getPeriodTaskResolver(camelContext)
+ .newInstance("aws-secret-refresh", Runnable.class);
if (task.isPresent()) {
long period = vc.aws().getRefreshPeriod();
Runnable r = task.get();
@@ -417,8 +417,8 @@ public abstract class BaseMainSupport extends BaseService {
}
if (vc.gcp().isRefreshEnabled()) {
- Optional<Runnable> task = camelContext.getCamelContextExtension()
- .getPeriodTaskResolver().newInstance("gcp-secret-refresh", Runnable.class);
+ Optional<Runnable> task = PluginHelper.getPeriodTaskResolver(camelContext)
+ .newInstance("gcp-secret-refresh", Runnable.class);
if (task.isPresent()) {
long period = vc.gcp().getRefreshPeriod();
Runnable r = task.get();
@@ -436,8 +436,8 @@ public abstract class BaseMainSupport extends BaseService {
}
if (vc.azure().isRefreshEnabled()) {
- Optional<Runnable> task = camelContext.getCamelContextExtension()
- .getPeriodTaskResolver().newInstance("azure-secret-refresh", Runnable.class);
+ Optional<Runnable> task = PluginHelper.getPeriodTaskResolver(camelContext)
+ .newInstance("azure-secret-refresh", Runnable.class);
if (task.isPresent()) {
long period = vc.azure().getRefreshPeriod();
Runnable r = task.get();
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/PluginHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/PluginHelper.java
index 550440266b0..3db96cee8c9 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/PluginHelper.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/PluginHelper.java
@@ -33,6 +33,7 @@ import org.apache.camel.spi.ModelJAXBContextFactory;
import org.apache.camel.spi.ModelineFactory;
import org.apache.camel.spi.PackageScanClassResolver;
import org.apache.camel.spi.PackageScanResourceResolver;
+import org.apache.camel.spi.PeriodTaskResolver;
import org.apache.camel.spi.UriFactoryResolver;
public final class PluginHelper {
@@ -277,4 +278,18 @@ public final class PluginHelper {
public static DataFormatResolver getDataFormatResolver(ExtendedCamelContext extendedCamelContext) {
return extendedCamelContext.getContextPlugin(DataFormatResolver.class);
}
+
+ /**
+ * Gets the period task resolver
+ */
+ public static PeriodTaskResolver getPeriodTaskResolver(CamelContext camelContext) {
+ return getPeriodTaskResolver(camelContext.getCamelContextExtension());
+ }
+
+ /**
+ * Gets the period task resolver
+ */
+ public static PeriodTaskResolver getPeriodTaskResolver(ExtendedCamelContext extendedCamelContext) {
+ return extendedCamelContext.getContextPlugin(PeriodTaskResolver.class);
+ }
}