Stub component usage patterns
Hi all, I'm not sure I understand how the Stub component is intended to be used. The canonical example seems to be a JMS consumer in production. Camel in Action says "stub any Camel endpoint by prefixing the endpoint with stub:". Cool, well if I'm testing production routes, I don't want to modify them, so would it make sense to use replaceFromWith() to replace the JMS consumer with a stub? How would this be better than just replacing the JMS consumer with a direct or vm? Does stub offer some other benefit? Thanks for any ideas or suggestions. Jeremy
Re: Need both camel-kafka-starter & camel-kafka in Spring Boot app?
Thanks, Jan, for doing that bit of research. I'll try to get in the habit of checking commits the next time something doesn't seem to be working the way it should. I look forward to Camel 3.1 and the latest batch of fixes and optimizations! (Funny side note: I saw Claus' blog post about the 3.1 log/string optimizations -- and a few days earlier I had been wondering (without digging into the Camel source...) what Camel did under the hood regarding building potentially expensive log strings. I've been on too many projects where we had to convert all the "log.level()" to "if ( log.isLevelEnabled() ) log.level()" to prevent Java from allocating objects.) Anyway, thanks again. > On January 12, 2020 at 12:13 PM Jan Bednář wrote: > > > Hi Ron, > You are right, kafka-clients dependency was accidentally excluded in > 3.0.0 starter. > > Guillaume fixed this in > https://github.com/apache/camel-spring-boot/commit/9e450be35ea192fd62cbae75a713b7bfb683a458#diff-c0a243e4756707820b8d462867a35c82 > > Dne 11.1.2020 v 9:20 Claus Ibsen napsal(a): > > Hi > > > > The camel-kafka-starter depends on camel-kafka that ought to bring in > > the needed JARs. > > > > On Fri, Jan 10, 2020 at 7:44 PM Ron Cecchini > > wrote: > >> Does it make sense that I would need both camel-kafka-starter and > >> camel-kafka in my Camel 3.0 / Spring Boot 2.2.1 app? > >> > >> I thought the *-starter would be enough, but without the camel-kafka > >> dependency my Kafka consumer throws a: > >> > >> java.lang.NoClassDefFoundError: > >> org/apache/kafka/clients/consumer/ConsumerRebalanceListener > >> > >> FWIW, my component config is pretty bare bones: > >> > >> from("kafka:{{kafka.topic.in}}?brokers={{kafka.brokers}}").log("got: > >> ${body}"); > >> > >> Thanks. > > > > >
Got JAXB error when migrate from spring to Spring boot I with Camel 3
Hi I will work on Spring-ws component for spring boot. The example under the following directory is running well. When I try to migrate the example from spring to spring boot. I got some jaxb errors. I wonder whether it is jaxb problem or my endpoint configuration problems. Please help! Thanks a lot! https://github.com/apache/camel/tree/master/examples/camel-example-spring-ws In the IncrementRoute.java @Component public class IncrementRoute extends RouteBuilder { @Override public void configure() throws Exception { JaxbDataFormat jaxb = new JaxbDataFormat(IncrementRequest.class.getPackage().getName()); from("spring-ws:rootqname:{http://camel.apache.org/example/increment}incrementRequest?endpointMapping=#endpointMapping;) .unmarshal(jaxb) .process(new IncrementProcessor()) .marshal(jaxb); } When I use soap UI to send request, I got the following errors. No adapter for endpoint [Consumer[spring-ws://rootqname:(http://camel.apache.org/example/increment}incrementRequest?endpointMapping=%23endpointMapping]]: Is your endpoint annotated with @Endpoint, or does it implement a supported interface like MessageHandler or PayloadEndpoint? I used spring boot 2.1.2 and camel 3 version. (using Camel-spring-ws-starter and camel-jaxb-starter components) The webservice configuration is like @Bean public ServletRegistrationBean messageDispatcherServlet(ApplicationContext applicationContext) { MessageDispatcherServlet servlet = new MessageDispatcherServlet(); servlet.setTransformWsdlLocations(true); servlet.setApplicationContext( applicationContext ); ServletRegistrationBean bean = new ServletRegistrationBean(servlet, CAMEL_URL_MAPPING); bean.setLoadOnStartup(1); return bean; } /* * Endpoint mappings */ @Bean(name = "endpointMapping") public CamelEndpointMapping camelEndpointMapping() throws IOException { CamelEndpointMapping endpointMapping = new CamelEndpointMapping(); endpointMapping.setCamelContext(context); logger.info(endpointMapping.toString()); EndpointInterceptor[] interceptors = {validatingInterceptor(), loggingInterceptor() }; endpointMapping.setInterceptors(interceptors); return endpointMapping; } @Bean(name = "validatingInterceptor") public PayloadValidatingInterceptor validatingInterceptor() { PayloadValidatingInterceptor payloadValidatingInterceptor = new PayloadValidatingInterceptor(); payloadValidatingInterceptor.setSchema(new ClassPathResource( "increment.xsd" )); payloadValidatingInterceptor.setValidateRequest(true); payloadValidatingInterceptor.setValidateResponse(true); return payloadValidatingInterceptor; } @Bean(name = "loggingInterceptor") public PayloadLoggingInterceptor loggingInterceptor() { return new PayloadLoggingInterceptor(); } Jessie Ding
Re: [ANNOUNCEMENT] Camel at FOSDEM 2020
Thank you Zoran for organizing. Looking forward to the event! Regards, Omar On Mon, Jan 13, 2020 at 3:31 PM Zoran Regvart wrote: > Hi Cameleers, > short update on the social event. It'll be at A La Mort Subite[1], rue > Montagne-aux-Herbes Potagères 7 in Brussels[2] on Saturday 1st of February > first day of FOSDEM (ULB, Av. F. D. Roosevelt 50) from 20h onwards. It's in > the city center, about 30-40 mins from FOSDEM by public transport[3]. > > zoran > > [1] https://www.alamortsubite.com/en/ > [2] https://www.openstreetmap.org/node/4480414658 > [3] www.stib-mivb.be/tripplanner/ > > > On Wed, Jan 8, 2020 at 3:01 PM Zoran Regvart wrote: > > > Hi Cameleers, > > FOSDEM[1] is free as in beer grassroots event for free software/open > > source communities to meet, share ideas and collaborate. You'll find > > over 800 talks spread over 35 rooms of Université libre de Bruxelles > > campus over the first weekend of February. And building on last year's > > well-received BoF session Camel is returning to FOSDEM. > > > > FOSDEM 2020 is on 1st (from 9:30 to 19:00) and 2nd (from 9:00 to > > 18:00) of February. > > > > Aside from all the interesting talks[2], your favorite even-toed > > ungulate is going to be represented there. > > > > First, at the Integration Process Community stand[3] in the building K > > both days of the conference. Come by to say hi, learn from the > > Cameleers about all the new and exciting developments on Camel 3, > > Camel K, Camel Quarkus and Camel Kafka Connector. There might even be > > some Camel swag for you to grab :) > > > > The Camel BoF session at FOSDEM 2019 was very well received last year > > and we're repeating it: the Camel birds of a feather[4] will be on > > Saturday from 11 to 12 in the room H.3242. Let's meet, discuss and > > exchange ideas. Anyone wishing to share can present on any topic > > relating to Apache Camel is welcome to do so, though please be mindful > > of the time - we have one hour in this session and would like that > > everyone would have the chance to participate. > > > > Lastly, we're planning on having a social event on Saturday a chance > > to wind down and discuss more in one of many Belgian pubs. Watch this > > space for details on that. > > > > I hope to see many of you at FOSDEM 2020! > > > > zoran > > > > p.s. this is text is also available on the website[5] > > > > [1] https://fosdem.org/2020/about/ > > [2] https://fosdem.org/2020/schedule/ > > [3] https://fosdem.org/2020/stands/ > > [4] https://fosdem.org/2020/schedule/event/bof_apache_camel/ > > [5] https://camel.apache.org/blog/FOSDEM-2020/ > > -- > > Zoran Regvart > > > > > -- > Zoran Regvart >
Re: [ANNOUNCEMENT] Camel at FOSDEM 2020
Hi Cameleers, short update on the social event. It'll be at A La Mort Subite[1], rue Montagne-aux-Herbes Potagères 7 in Brussels[2] on Saturday 1st of February first day of FOSDEM (ULB, Av. F. D. Roosevelt 50) from 20h onwards. It's in the city center, about 30-40 mins from FOSDEM by public transport[3]. zoran [1] https://www.alamortsubite.com/en/ [2] https://www.openstreetmap.org/node/4480414658 [3] www.stib-mivb.be/tripplanner/ On Wed, Jan 8, 2020 at 3:01 PM Zoran Regvart wrote: > Hi Cameleers, > FOSDEM[1] is free as in beer grassroots event for free software/open > source communities to meet, share ideas and collaborate. You'll find > over 800 talks spread over 35 rooms of Université libre de Bruxelles > campus over the first weekend of February. And building on last year's > well-received BoF session Camel is returning to FOSDEM. > > FOSDEM 2020 is on 1st (from 9:30 to 19:00) and 2nd (from 9:00 to > 18:00) of February. > > Aside from all the interesting talks[2], your favorite even-toed > ungulate is going to be represented there. > > First, at the Integration Process Community stand[3] in the building K > both days of the conference. Come by to say hi, learn from the > Cameleers about all the new and exciting developments on Camel 3, > Camel K, Camel Quarkus and Camel Kafka Connector. There might even be > some Camel swag for you to grab :) > > The Camel BoF session at FOSDEM 2019 was very well received last year > and we're repeating it: the Camel birds of a feather[4] will be on > Saturday from 11 to 12 in the room H.3242. Let's meet, discuss and > exchange ideas. Anyone wishing to share can present on any topic > relating to Apache Camel is welcome to do so, though please be mindful > of the time - we have one hour in this session and would like that > everyone would have the chance to participate. > > Lastly, we're planning on having a social event on Saturday a chance > to wind down and discuss more in one of many Belgian pubs. Watch this > space for details on that. > > I hope to see many of you at FOSDEM 2020! > > zoran > > p.s. this is text is also available on the website[5] > > [1] https://fosdem.org/2020/about/ > [2] https://fosdem.org/2020/schedule/ > [3] https://fosdem.org/2020/stands/ > [4] https://fosdem.org/2020/schedule/event/bof_apache_camel/ > [5] https://camel.apache.org/blog/FOSDEM-2020/ > -- > Zoran Regvart > -- Zoran Regvart
Re: Feature camel-activemq causes an runtime error starting the activemq-broker (twice)
Hi, you can configure the jmsConnectionFacotry in one blueprint like this: http://www.osgi.org/xmlns/blueprint/v1.0.0;> and then you can use this factory in several: http://www.osgi.org/xmlns/blueprint/v1.0.0;> ... NB: I would use a pooled connection factory. You can find some example there: http://blog.nanthrax.net/?p=820 Regards JB On 13/01/2020 10:55, Gerald Kallas wrote: > Hi JB, > > finally this works .. > > feature:repo-add hawtio 2.8.0 > feature:repo-add activemq 5.15.11 > feature:repo-add camel 3.0.0 > > feature:install webconsole hawtio activemq-broker-noweb camel camel-jms jms > pax-jms-config pax-jms-activemq > > with the route > > http://www.osgi.org/xmlns/blueprint/v1.0.0;> > > >class="org.apache.activemq.ActiveMQConnectionFactory"> > > > > > >xmlns="http://camel.apache.org/schema/blueprint; streamCache="true"> > > > >uri="file:E:/tmp/in?include=.*\.xmlmoveFailed=error" /> > > > > > > > > The only thing that I'm still missing is to configure the JMS connection > factory system wide (with pax?). I don't want to configure this again in each > blueprint file. > > ActiveMQ doesn't support JMS 2.0 so this doesn't work > https://ops4j1.jira.com/wiki/spaces/PAXJMS/pages/331350050/Configuration > > May be any other way around works? > > Best > - Gerald > > P.S. I saw this sentence within the Camel JMS documentation .. > > USING ACTIVEMQ > The JMS component reuses Spring 2’s JmsTemplate for sending messages. This is > not ideal for use in a non-J2EE container and typically requires some caching > in the JMS provider to avoid poor performance. > > If you intend to use Apache ActiveMQ as your message broker, the > recommendation is that you do one of the following: > > Use the ActiveMQ component, which is already optimized to use ActiveMQ > efficiently > > Use the PoolingConnectionFactory in ActiveMQ. > > > Does that really matter an when? > >> Jean-Baptiste Onofré hat am 13. Januar 2020 um 07:24 >> geschrieben: >> >> >> Hi Gerald, >> >> That's not fully correct. ActiveMQ component gives you some deep >> configuration but 99% of the features can be achieved with camel-jms. >> >> In Karaf, you can just create a ActiveMQ connection factory (using jms >> feature/commands), and use this connection factory directly with camel-jms. >> >> On my blog (blog.nanthrax.net), you have several examples how to use >> ActiveMQ with Camel JMS. >> >> If you need some details/helps, don't hesitate to ping me directly. >> >> Regards >> JB >> >> On 13/01/2020 07:01, Gerald Kallas - mailbox.org wrote: >>> Hi JB, >>> >>> tx for the comprehensive reply. >>> >>> Within the Camel documentation I read that the activemq component is >>> optimized for ActiveMQ. So what does that mean and where are the >>> differences between the activemq and the camel-jms component? What does the >>> jms component provide? >>> >>> Sent by my mobile device >>> - Gerald Kallas >>> Am 13.01.2020 um 06:00 schrieb Jean-Baptiste Onofré : Hi Gerald, Again camel-activemq is not require: you can directy use JMS. It's what I'm always doing. The ActiveMQ connection factory in Karaf (most of the time I have ActiveMQ broker standalone outside of the Karaf runtime) and using jms in my Camel routes. Anyway, the ActiveMQServiceFactory.updated means you have a refresh or a configuration change (in etc/activemq.xml). I'm suspecting hawtio to cause this. If you do feature:install -v you will see the refresh and the cause of the refresh. I will reproduce it to identify the root cause. Regards JB > On 12/01/2020 21:59, Gerald Kallas wrote: > Hi JB, > > feature:install camel > > instead of > > feature:install camel-blueprint > > did it finally without the jaxb exception. btw, I'm running Java 8. > > Nevertheless, the feature camel-activemq is required to use the activemq > component. This I did finally > > karaf@root()> feature:repo-add hawtio 2.8.0 > Adding feature url mvn:io.hawt/hawtio-karaf/2.8.0/xml/features > karaf@root()> feature:repo-add activemq 5.15.11 > Adding feature url > mvn:org.apache.activemq/activemq-karaf/5.15.11/xml/features > karaf@root()> feature:repo-add camel 3.0.0 > Adding feature url > mvn:org.apache.camel.karaf/apache-camel/3.0.0/xml/features > karaf@root()> feature:install webconsole hawtio activemq-broker-noweb > camel camel-activemq > > The error > >at > org.apache.activemq.osgi.ActiveMQServiceFactory.updated(ActiveMQServiceFactory.java:147) > ~[!/:5.15.11] >at >
Re: Messages with byte[] bodies are sent as "large messages" to Artemis via camel-jms and cause ConsumerTemplate exception
The byte[] vs Byte[] is likely more of a Artemis question how their JMS client handle this. For byte[] then Camel creates a javax.jms.BytesMessage and for the other it creates a javax.jmx.ObjectMessage. You can force what JMS message type Camel should use with the option (see its docs) You can also turn on TRACE logging and see if you see this logging message LOG.trace("Optimised for Artemis: Reading from BytesMessage in streaming mode directly into CachedOutputStream payload"); It smells that this optimized mode (CAMEL-11931) somehow cause Artemis to close the stream. (smells like a bug in Artemis). We could maybe add an option to turn this optimized Artemis mode off. You can also turn off mapJmsMessage then Camel does not extract body/headers etc. On Mon, Jan 13, 2020 at 12:59 PM Florian Patzl wrote: > > Hello, > I've stumbled upon behavior in Camel + Artemis JMS that I do not understand. > Camel messages with bodies of type byte[] are treated as "large messages" in > Artemis - even small messages with only three bytes. > In combination with "manually" polling the messages from JMS using a Camel > ConsumerTemplate, that leads to exceptions like: > > Caused by: > org.apache.activemq.artemis.api.core.ActiveMQIllegalStateException: > AMQ119023: The large message lost connection with its session, either because > of a rollback or a closed session > at > org.apache.activemq.artemis.core.client.impl.LargeMessageControllerImpl.saveBuffer(LargeMessageControllerImpl.java:273) > ~[artemis-core-client-2.6.2.jar:2.6.2] > at > org.apache.activemq.artemis.core.client.impl.ClientLargeMessageImpl.saveToOutputStream(ClientLargeMessageImpl.java:115) > ~[artemis-core-client-2.6.2.jar:2.6.2] > at > org.apache.activemq.artemis.jms.client.ActiveMQMessage.saveToOutputStream(ActiveMQMessage.java:853) > ~[artemis-jms-client-2.6.2.jar:2.6.2] > at > org.apache.activemq.artemis.jms.client.ActiveMQMessage.setObjectProperty(ActiveMQMessage.java:693) > ~[artemis-jms-client-2.6.2.jar:2.6.2] > at > org.apache.camel.component.jms.JmsBinding.createByteArrayFromBytesMessage(JmsBinding.java:251) > ~[camel-jms-2.22.1.jar:2.22.1] > at > org.apache.camel.component.jms.JmsBinding.extractBodyFromJms(JmsBinding.java:163) > ~[camel-jms-2.22.1.jar:2.22.1] > ... 21 more > > The problem does not occur when converting my byte[] bodies to Byte[]. > I have described the problem in more detail in the following StackOverflow > question: > https://stackoverflow.com/q/59651341/827950 > > My minimal test setup is based on Camel 2.22.1 and Artemis 2.10.1. I have > reproduced the phenomenon that Artemis handles the messages as large messages > with Camel 3.0.0 as well, but I do not (yet) have a minimal example that > leads to the same exception when using ConsumerTemplate for that Camel > version. > > Basically, I have two questions: > 1) Why does Artemis treat small byte array messages sent via Camel as large > messages? > 2) Does Camel ConsumerTemplate support streamed large messages? > > Best regards, > Florian -- Claus Ibsen - http://davsclaus.com @davsclaus Camel in Action 2: https://www.manning.com/ibsen2
Messages with byte[] bodies are sent as "large messages" to Artemis via camel-jms and cause ConsumerTemplate exception
Hello, I've stumbled upon behavior in Camel + Artemis JMS that I do not understand. Camel messages with bodies of type byte[] are treated as "large messages" in Artemis - even small messages with only three bytes. In combination with "manually" polling the messages from JMS using a Camel ConsumerTemplate, that leads to exceptions like: Caused by: org.apache.activemq.artemis.api.core.ActiveMQIllegalStateException: AMQ119023: The large message lost connection with its session, either because of a rollback or a closed session at org.apache.activemq.artemis.core.client.impl.LargeMessageControllerImpl.saveBuffer(LargeMessageControllerImpl.java:273) ~[artemis-core-client-2.6.2.jar:2.6.2] at org.apache.activemq.artemis.core.client.impl.ClientLargeMessageImpl.saveToOutputStream(ClientLargeMessageImpl.java:115) ~[artemis-core-client-2.6.2.jar:2.6.2] at org.apache.activemq.artemis.jms.client.ActiveMQMessage.saveToOutputStream(ActiveMQMessage.java:853) ~[artemis-jms-client-2.6.2.jar:2.6.2] at org.apache.activemq.artemis.jms.client.ActiveMQMessage.setObjectProperty(ActiveMQMessage.java:693) ~[artemis-jms-client-2.6.2.jar:2.6.2] at org.apache.camel.component.jms.JmsBinding.createByteArrayFromBytesMessage(JmsBinding.java:251) ~[camel-jms-2.22.1.jar:2.22.1] at org.apache.camel.component.jms.JmsBinding.extractBodyFromJms(JmsBinding.java:163) ~[camel-jms-2.22.1.jar:2.22.1] ... 21 more The problem does not occur when converting my byte[] bodies to Byte[]. I have described the problem in more detail in the following StackOverflow question: https://stackoverflow.com/q/59651341/827950 My minimal test setup is based on Camel 2.22.1 and Artemis 2.10.1. I have reproduced the phenomenon that Artemis handles the messages as large messages with Camel 3.0.0 as well, but I do not (yet) have a minimal example that leads to the same exception when using ConsumerTemplate for that Camel version. Basically, I have two questions: 1) Why does Artemis treat small byte array messages sent via Camel as large messages? 2) Does Camel ConsumerTemplate support streamed large messages? Best regards, Florian
Re: Feature camel-activemq causes an runtime error starting the activemq-broker (twice)
Hi JB, finally this works .. feature:repo-add hawtio 2.8.0 feature:repo-add activemq 5.15.11 feature:repo-add camel 3.0.0 feature:install webconsole hawtio activemq-broker-noweb camel camel-jms jms pax-jms-config pax-jms-activemq with the route http://www.osgi.org/xmlns/blueprint/v1.0.0;> http://camel.apache.org/schema/blueprint; streamCache="true"> The only thing that I'm still missing is to configure the JMS connection factory system wide (with pax?). I don't want to configure this again in each blueprint file. ActiveMQ doesn't support JMS 2.0 so this doesn't work https://ops4j1.jira.com/wiki/spaces/PAXJMS/pages/331350050/Configuration May be any other way around works? Best - Gerald P.S. I saw this sentence within the Camel JMS documentation .. USING ACTIVEMQ The JMS component reuses Spring 2’s JmsTemplate for sending messages. This is not ideal for use in a non-J2EE container and typically requires some caching in the JMS provider to avoid poor performance. If you intend to use Apache ActiveMQ as your message broker, the recommendation is that you do one of the following: Use the ActiveMQ component, which is already optimized to use ActiveMQ efficiently Use the PoolingConnectionFactory in ActiveMQ. Does that really matter an when? > Jean-Baptiste Onofré hat am 13. Januar 2020 um 07:24 > geschrieben: > > > Hi Gerald, > > That's not fully correct. ActiveMQ component gives you some deep > configuration but 99% of the features can be achieved with camel-jms. > > In Karaf, you can just create a ActiveMQ connection factory (using jms > feature/commands), and use this connection factory directly with camel-jms. > > On my blog (blog.nanthrax.net), you have several examples how to use > ActiveMQ with Camel JMS. > > If you need some details/helps, don't hesitate to ping me directly. > > Regards > JB > > On 13/01/2020 07:01, Gerald Kallas - mailbox.org wrote: > > Hi JB, > > > > tx for the comprehensive reply. > > > > Within the Camel documentation I read that the activemq component is > > optimized for ActiveMQ. So what does that mean and where are the > > differences between the activemq and the camel-jms component? What does the > > jms component provide? > > > > Sent by my mobile device > > - Gerald Kallas > > > >> Am 13.01.2020 um 06:00 schrieb Jean-Baptiste Onofré : > >> > >> Hi Gerald, > >> > >> Again camel-activemq is not require: you can directy use JMS. It's what > >> I'm always doing. The ActiveMQ connection factory in Karaf (most of the > >> time I have ActiveMQ broker standalone outside of the Karaf runtime) and > >> using jms in my Camel routes. > >> > >> Anyway, the ActiveMQServiceFactory.updated means you have a refresh or a > >> configuration change (in etc/activemq.xml). I'm suspecting hawtio to > >> cause this. > >> > >> If you do feature:install -v you will see the refresh and the cause of > >> the refresh. I will reproduce it to identify the root cause. > >> > >> Regards > >> JB > >> > >>> On 12/01/2020 21:59, Gerald Kallas wrote: > >>> Hi JB, > >>> > >>> feature:install camel > >>> > >>> instead of > >>> > >>> feature:install camel-blueprint > >>> > >>> did it finally without the jaxb exception. btw, I'm running Java 8. > >>> > >>> Nevertheless, the feature camel-activemq is required to use the activemq > >>> component. This I did finally > >>> > >>> karaf@root()> feature:repo-add hawtio 2.8.0 > >>> Adding feature url mvn:io.hawt/hawtio-karaf/2.8.0/xml/features > >>> karaf@root()> feature:repo-add activemq 5.15.11 > >>> Adding feature url > >>> mvn:org.apache.activemq/activemq-karaf/5.15.11/xml/features > >>> karaf@root()> feature:repo-add camel 3.0.0 > >>> Adding feature url > >>> mvn:org.apache.camel.karaf/apache-camel/3.0.0/xml/features > >>> karaf@root()> feature:install webconsole hawtio activemq-broker-noweb > >>> camel camel-activemq > >>> > >>> The error > >>> > >>>at > >>> org.apache.activemq.osgi.ActiveMQServiceFactory.updated(ActiveMQServiceFactory.java:147) > >>> ~[!/:5.15.11] > >>>at > >>> org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.updated(ManagedServiceFactoryTracker.java:159) > >>> ~[!/:?] > >>>at > >>> org.apache.felix.cm.impl.helper.ManagedServiceFactoryTracker.provideConfiguration(ManagedServiceFactoryTracker.java:93) > >>> [!/:?] > >>>at > >>> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.provide(ConfigurationManager.java:1253) > >>> [!/:?] > >>>at > >>> org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceFactoryUpdate.run(ConfigurationManager.java:1197) > >>> [!/:?] > >>>at > >>> org.apache.felix.cm.impl.UpdateThread.run0(UpdateThread.java:138) [!/:?] > >>>at > >>>