Grzegorz Grzybek created CAMEL-15061:
----------------------------------------

             Summary: Performance issues with classMap.computeIfAbsent() in 
DefaultFactoryFinder
                 Key: CAMEL-15061
                 URL: https://issues.apache.org/jira/browse/CAMEL-15061
             Project: Camel
          Issue Type: Bug
            Reporter: Grzegorz Grzybek
            Assignee: Grzegorz Grzybek


When Camel routes start, there are unnecessary calls from class 
DefaultFactoryFinder in method

{code}
   protected Class<?> addToClassMap(String key, ClassSupplier mappingFunction) 
throws ClassNotFoundException, IOException  {
        try {
            return classMap.computeIfAbsent(key, (String classKey) -> { ...
{code}

In a Karaf environment with the Java security manager enabled, this causes a 
massive delay in starting Camel routes, since there are thousands of calls into 
org.apache.felix.framework.BundleImpl.getEntry(), which is then authorised by 
the Java Security Manager. Its seems a bulk of these calls could be avoided if 
the call to classMap.computeIfAbsent() dealt with null values as well.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to