Caching is an option indeed. Be careful about OSGi service dynamism (to avoid side effect when the service is not there actually).
Regards JB > Le 27 juin 2020 à 07:59, Claus Ibsen <[email protected]> a écrit : > > 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 > > > > -- > Claus Ibsen > ----------------- > http://davsclaus.com @davsclaus > Camel in Action 2: https://www.manning.com/ibsen2
