You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2020/01/03 10:46:39 UTC
[camel] branch master updated (8bda5d2 -> a69f735)
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git.
from 8bda5d2 Upgrade Awaitility to version 4.0.2
new f6f6362 Optimize package scan to only create jar cache on-demand when needed
new a69f735 Added logging
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../camel/impl/engine/DefaultPackageScanClassResolver.java | 14 ++++++++------
.../java/org/apache/camel/support/LRUCacheFactory.java | 14 ++++++++++----
2 files changed, 18 insertions(+), 10 deletions(-)
[camel] 01/02: Optimize package scan to only create jar cache
on-demand when needed
Posted by da...@apache.org.
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
commit f6f636296993daec5b4eaa70d77440836567d707
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Jan 3 11:24:54 2020 +0100
Optimize package scan to only create jar cache on-demand when needed
---
.../camel/impl/engine/DefaultPackageScanClassResolver.java | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultPackageScanClassResolver.java b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultPackageScanClassResolver.java
index 3edde38..4c69b1c 100644
--- a/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultPackageScanClassResolver.java
+++ b/core/camel-base/src/main/java/org/apache/camel/impl/engine/DefaultPackageScanClassResolver.java
@@ -53,7 +53,7 @@ import org.apache.camel.util.ObjectHelper;
*/
public class DefaultPackageScanClassResolver extends BasePackageScanResolver implements PackageScanClassResolver, NonManagedService {
- private Map<String, List<String>> jarCache;
+ private volatile Map<String, List<String>> jarCache;
private Set<PackageScanFilter> scanFilters;
@Override
@@ -250,6 +250,12 @@ public class DefaultPackageScanClassResolver extends BasePackageScanResolver imp
stream = new FileInputStream(file);
}
+ // only create jar cache on-demand when needed
+ if (jarCache == null) {
+ // use a soft cache so it can be claimed if needed
+ jarCache = LRUCacheFactory.newLRUWeakCache(1000);
+ }
+
loadImplementationsInJar(test, packageName, stream, urlPath, classes, jarCache);
} finally {
IOHelper.close(stream);
@@ -444,11 +450,7 @@ public class DefaultPackageScanClassResolver extends BasePackageScanResolver imp
@Override
protected void doStart() throws Exception {
- if (jarCache == null) {
- // use a JAR cache to speed up scanning JARs, but let it be soft referenced
- // so it can claim the data when memory is needed
- jarCache = LRUCacheFactory.newLRUCache(1000);
- }
+ // noop
}
@Override
[camel] 02/02: Added logging
Posted by da...@apache.org.
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
commit a69f735f4d475ae637c92d441994695a6c5d7b90
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Jan 3 11:25:01 2020 +0100
Added logging
---
.../java/org/apache/camel/support/LRUCacheFactory.java | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/core/camel-support/src/main/java/org/apache/camel/support/LRUCacheFactory.java b/core/camel-support/src/main/java/org/apache/camel/support/LRUCacheFactory.java
index 58d7d48..048576a8 100644
--- a/core/camel-support/src/main/java/org/apache/camel/support/LRUCacheFactory.java
+++ b/core/camel-support/src/main/java/org/apache/camel/support/LRUCacheFactory.java
@@ -46,6 +46,7 @@ public abstract class LRUCacheFactory {
}
private static LRUCacheFactory createLRUCacheFactory() {
+ LOGGER.trace("createLRUCacheFactory");
try {
ClassLoader classLoader = LRUCacheFactory.class.getClassLoader();
URL url = classLoader.getResource("META-INF/services/org/apache/camel/lru-cache-factory");
@@ -55,12 +56,17 @@ public abstract class LRUCacheFactory {
props.load(is);
}
String clazzName = props.getProperty("class");
- Class<?> clazz = classLoader.loadClass(clazzName);
- Object factory = clazz.getDeclaredConstructor().newInstance();
- return (LRUCacheFactory) factory;
+ if (clazzName != null) {
+ LOGGER.trace("Loading class: {}", clazzName);
+ Class<?> clazz = classLoader.loadClass(clazzName);
+ LOGGER.trace("Creating LURCacheFactory instance from class: {}", clazzName);
+ Object factory = clazz.getDeclaredConstructor().newInstance();
+ LOGGER.trace("Created LURCacheFactory instance: {}", factory);
+ return (LRUCacheFactory) factory;
+ }
}
} catch (Throwable t) {
- LOGGER.warn("Error creating LRUCacheFactory", t);
+ LOGGER.warn("Error creating LRUCacheFactory. Will use DefaultLRUCacheFactory.", t);
}
return new DefaultLRUCacheFactory();
}