This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new ed25d5f camel-core - Warump pooled exchange factory on doBuild so the
class is loaded eager by the JVM instead of on first exchange use.
ed25d5f is described below
commit ed25d5ff2351d20eacedc8f34b99394e79fa4398
Author: Claus Ibsen <[email protected]>
AuthorDate: Sat Mar 13 13:17:27 2021 +0100
camel-core - Warump pooled exchange factory on doBuild so the class is
loaded eager by the JVM instead of on first exchange use.
---
.../java/org/apache/camel/impl/engine/PooledExchangeFactory.java | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
index 19c02b0..82613a3 100644
---
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
+++
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/PooledExchangeFactory.java
@@ -37,6 +37,15 @@ public final class PooledExchangeFactory extends
PrototypeExchangeFactory {
public PooledExchangeFactory() {
}
+ @Override
+ protected void doBuild() throws Exception {
+ super.doBuild();
+ // force to create and load the class during build time so the JVM
does not
+ // load the class on first exchange to be created
+ DefaultPooledExchange dummy = new DefaultPooledExchange(camelContext);
+ LOG.trace("Warming up PooledExchangeFactory loaded class: {}",
dummy.getClass().getName());
+ }
+
public PooledExchangeFactory(Consumer consumer) {
super(consumer);
}