Thanks. Unfortunately the cache does not seem to kick in. Also it's supposed to be turned on by default (xsd: "Caches the bean lookup, to avoid lookup up bean on every usage. Default value: true".
The bean is called from a REST CamelContext configured such as <rest path="/mypath"> <get outType="myType"> <route> <to uri="bean:myBean?cache=true&method=myMethod()" /> </route> </get> I don't see this bean lookup behaviour for "normal" CamelContexts, so caching seems to work, but not in this case here. - Martin On 27.06.2020 07:59, Claus Ibsen wrote:
You can cache the bean so the lookup is only done once. to("bean:foo?cache=true") In Camel 3.x there is a new scope option instead On Thu, Jun 25, 2020 at 5:09 PM Martin Lichtin <[email protected]> wrote:Is there a way to tell Camel to not search OSGi services when looking up a bean? It seems by default it's continuously looking up the service references, would like to turn this off. Stack Trace Sample Count Percentage(%) java.util.TreeMap.getEntryUsingComparator(Object) 17 3.753 java.util.TreeMap.getEntry(Object) 17 3.753 java.util.TreeMap.get(Object) 17 3.753 org.apache.felix.framework.ServiceRegistrationImpl.getProperty(String) 11 2.428 org.apache.felix.framework.ServiceRegistrationImpl$ServiceReferenceMap.get(Object) 11 2.428 org.apache.felix.framework.capabilityset.CapabilitySet.match(Set, SimpleFilter) 11 2.428 org.apache.felix.framework.capabilityset.CapabilitySet.match(SimpleFilter, boolean) 9 1.987 org.apache.felix.framework.ServiceRegistry.getServiceReferences(String, SimpleFilter) 9 1.987 org.apache.felix.framework.Felix.getServiceReferences(BundleImpl, String, String, boolean) 9 1.987 org.apache.felix.framework.Felix.getAllowedServiceReferences(BundleImpl, String, String, boolean) 9 1.987 org.apache.felix.framework.BundleContextImpl.getServiceReferences(String, String) 9 1.987 org.apache.camel.core.osgi.OsgiServiceRegistry.lookupByName(String) 9 1.987 org.apache.camel.impl.CompositeRegistry.lookupByName(String) 9 1.987 org.apache.camel.impl.PropertyPlaceholderDelegateRegistry.lookupByName(String) 9 1.987 org.apache.camel.component.bean.RegistryBean.lookupBean() 9 1.987 org.apache.camel.component.bean.RegistryBean.getBean() 9 1.987 org.apache.camel.component.bean.AbstractBeanProcessor.process(Exchange, AsyncCallback) 9 1.987 org.apache.camel.component.bean.BeanProcessor.process(Exchange, AsyncCallback) 9 1.987 org.apache.camel.component.bean.BeanProducer.process(Exchange, AsyncCallback) 9 1.987 org.apache.camel.processor.SendProcessor.process(Exchange, AsyncCallback) 9 1.987 org.apache.camel.processor.RedeliveryErrorHandler.process(Exchange, AsyncCallback) 9 1.987 org.apache.camel.processor.CamelInternalProcessor.process(Exchange, AsyncCallback) 9 1.987 org.apache.camel.processor.CamelInternalProcessor.process(Exchange, AsyncCallback) 9 1.987 org.apache.camel.processor.DelegateAsyncProcessor.process(Exchange) 9 1.987 org.apache.camel.http.common.CamelServlet.doService(HttpServletRequest, HttpServletResponse) 9 1.987 - Martin
