This is an automated email from the ASF dual-hosted git repository. jamesnetherton 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 821378eed35 CAMEL-20002: Make it easier to extend DefaultInjector 821378eed35 is described below commit 821378eed3556090c55cc1b7ddae73310c82cb8d Author: James Netherton <jamesnether...@gmail.com> AuthorDate: Wed Oct 18 08:18:53 2023 +0100 CAMEL-20002: Make it easier to extend DefaultInjector --- .../apache/camel/impl/engine/DefaultInjector.java | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultInjector.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultInjector.java index 332dd05b64f..a8d9e67ecbc 100644 --- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultInjector.java +++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultInjector.java @@ -34,8 +34,8 @@ import org.apache.camel.support.PluginHelper; public class DefaultInjector implements Injector { // use the reflection injector - private final CamelContext camelContext; - private final CamelBeanPostProcessor postProcessor; + protected final CamelContext camelContext; + protected final CamelBeanPostProcessor postProcessor; public DefaultInjector(CamelContext context) { this.camelContext = context; @@ -78,12 +78,7 @@ public class DefaultInjector implements Injector { // inject camel context if needed CamelContextAware.trySetCamelContext(answer, camelContext); if (postProcessBean) { - try { - postProcessor.postProcessBeforeInitialization(answer, answer.getClass().getName()); - postProcessor.postProcessAfterInitialization(answer, answer.getClass().getName()); - } catch (Exception e) { - throw new RuntimeCamelException("Error during post processing of bean: " + answer, e); - } + applyBeanPostProcessing(answer); } return answer; } @@ -92,4 +87,13 @@ public class DefaultInjector implements Injector { public boolean supportsAutoWiring() { return false; } + + protected <T> void applyBeanPostProcessing(T bean) { + try { + postProcessor.postProcessBeforeInitialization(bean, bean.getClass().getName()); + postProcessor.postProcessAfterInitialization(bean, bean.getClass().getName()); + } catch (Exception e) { + throw new RuntimeCamelException("Error during post processing of bean: " + bean, e); + } + } }