[
https://issues.apache.org/activemq/browse/CAMEL-994?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-994.
-------------------------------
Fix Version/s: 1.5.0
Resolution: Working as Designed
Charles you need to use spring as well as the event component is spring events.
What is needed is to set the spring application context on the endpoint before
it can be used.
> NullPointerException is raised by the Camel Event endpoint
> (org.apache.camel.component.event.EventEndpoint) during message sending (=
> produce)
> ----------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: CAMEL-994
> URL: https://issues.apache.org/activemq/browse/CAMEL-994
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-spring
> Affects Versions: 1.4.0
> Reporter: Charles Moulliard
> Fix For: 1.5.0
>
>
> Hi,
> I have the following error generated :
> [ main] DefaultCamelContext INFO JMX
> enabled. Using InstrumentationLifecycleStrategy.
> [ main] DefaultCamelContext DEBUG Adding
> routes from: Routes: [Route[ [From[event://default]] -> [To[mock:test]]]]
> routes: []
> [ main] DefaultInstrumentationAgent DEBUG
> Starting JMX agent on server: [EMAIL PROTECTED]
> [ main] DefaultInstrumentationAgent DEBUG
> Registered MBean with objectname:
> org.apache.camel:context=dell-charles/camel-1,name=context
> [ main] DefaultComponentResolver DEBUG Found
> component: event via type: org.apache.camel.component.event.EventComponent
> via META-INF/services/org/apache/camel/component/event
> [ main] DefaultComponent DEBUG
> Creating endpoint uri=[event://default], path=[default], parameters=[{}]
> [ main] DefaultCamelContext DEBUG
> event://default converted to endpoint: Endpoint[event://default] by
> component: [EMAIL PROTECTED]
> [ main] DefaultInstrumentationAgent DEBUG
> Registered MBean with objectname:
> org.apache.camel:context=dell-charles/camel-1,type=endpoints,name="event://default\?id=0xdaebda6"
> [ main] DefaultInstrumentationAgent DEBUG
> Registered MBean with objectname:
> org.apache.camel:context=dell-charles/camel-1,type=processors,nodeid=to1,name="To[mock:test]"
> [ main] DefaultComponentResolver DEBUG Found
> component: mock via type: org.apache.camel.component.mock.MockComponent via
> META-INF/services/org/apache/camel/component/mock
> [ main] DefaultComponent DEBUG
> Creating endpoint uri=[mock:test], path=[test], parameters=[{}]
> [ main] DefaultCamelContext DEBUG
> mock:test converted to endpoint: Endpoint[mock:test] by component: [EMAIL
> PROTECTED]
> [ main] DefaultInstrumentationAgent DEBUG
> Registered MBean with objectname:
> org.apache.camel:context=dell-charles/camel-1,type=endpoints,name="mock:test\?id=0x1f9866cb"
> [ main] DefaultInstrumentationAgent DEBUG
> Registered MBean with objectname:
> org.apache.camel:context=dell-charles/camel-1,type=routes,name="node1"
> [ main] DefaultInstrumentationAgent DEBUG
> Registered MBean with objectname:
> org.apache.camel:context=dell-charles/camel-1,type=consumers,name=EventConsumer(0x97a560)
> [ main] ProducerCache DEBUG >>>>
> Endpoint[event://default] Exchange[Message: Hello there!]
> [ main] ResolverUtil DEBUG
> Searching for annotations of org.apache.camel.Converter in packages:
> [org.apache.camel.converter, org.apache.camel.component.cxf.converter,
> org.apache.camel.spring.converter]
> [ main] ResolverUtil DEBUG Using
> only regular classloaders
> [ main] ResolverUtil DEBUG Loading
> from jar:
> C:\.m2\repository\org\apache\camel\camel-core\1.5-SNAPSHOT\camel-core-1.5-SNAPSHOT.jar
> [ main] ResolverUtil DEBUG Using
> only regular classloaders
> [ main] ResolverUtil DEBUG Loading
> from jar:
> C:\.m2\repository\org\apache\camel\camel-cxf\1.5-SNAPSHOT\camel-cxf-1.5-SNAPSHOT.jar
> [ main] ResolverUtil DEBUG Using
> only regular classloaders
> [ main] ResolverUtil DEBUG Found:
> [class org.apache.camel.converter.stream.StreamCacheConverter, class
> org.apache.camel.converter.CamelConverter, class
> org.apache.camel.converter.IOConverter, class
> org.apache.camel.converter.jaxp.DomConverter, class
> org.apache.camel.converter.jaxp.StaxConverter, class
> org.apache.camel.converter.jaxp.StreamSourceConverter, class
> org.apache.camel.converter.ObjectConverter, class
> org.apache.camel.converter.NIOConverter, class
> org.apache.camel.component.cxf.converter.CxfConverter, class
> org.apache.camel.converter.jaxp.XmlConverter, class
> org.apache.camel.converter.CollectionConverter]
> [ main] AnnotationTypeConverterLoader DEBUG Loading
> converter class: org.apache.camel.converter.stream.StreamCacheConverter
> [ main] AnnotationTypeConverterLoader DEBUG Loading
> converter class: org.apache.camel.converter.CamelConverter
> [ main] AnnotationTypeConverterLoader DEBUG Loading
> converter class: org.apache.camel.converter.IOConverter
> [ main] AnnotationTypeConverterLoader DEBUG Loading
> converter class: org.apache.camel.converter.jaxp.DomConverter
> [ main] AnnotationTypeConverterLoader DEBUG Loading
> converter class: org.apache.camel.converter.jaxp.StaxConverter
> [ main] AnnotationTypeConverterLoader DEBUG Loading
> converter class: org.apache.camel.converter.jaxp.StreamSourceConverter
> [ main] AnnotationTypeConverterLoader DEBUG Loading
> converter class: org.apache.camel.converter.ObjectConverter
> [ main] AnnotationTypeConverterLoader DEBUG Loading
> converter class: org.apache.camel.converter.NIOConverter
> [ main] AnnotationTypeConverterLoader DEBUG Loading
> converter class: org.apache.camel.component.cxf.converter.CxfConverter
> [ main] AnnotationTypeConverterLoader DEBUG Loading
> converter class: org.apache.camel.converter.jaxp.XmlConverter
> [ main] DefaultTypeConverter WARN
> Overriding type converter from: StaticMethodTypeConverter: public static
> java.lang.String
> org.apache.camel.converter.IOConverter.toString(javax.xml.transform.Source)
> throws javax.xml.transform.TransformerException,java.io.IOException to:
> InstanceMethodTypeConverter: public java.lang.String
> org.apache.camel.converter.jaxp.XmlConverter.toString(javax.xml.transform.Source)
> throws javax.xml.transform.TransformerException
> [ main] AnnotationTypeConverterLoader DEBUG Loading
> converter class: org.apache.camel.converter.CollectionConverter
> org.apache.camel.RuntimeCamelException: java.lang.NullPointerException
> at
> org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:685)
> at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:90)
> at
> org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:85)
> at
> org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:102)
> at
> org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:108)
> at com.xpectis.test.ProcessEvent.startCamel(ProcessEvent.java:44)
> at com.xpectis.test.ProcessEvent.main(ProcessEvent.java:63)
> Caused by: java.lang.NullPointerException
> at
> org.apache.camel.component.event.EventEndpoint$1.process(EventEndpoint.java:68)
> at
> org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:151)
> at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:88)
> ... 5 more
> when I run the code above :
> /**
> * Licensed to the Apache Software Foundation (ASF) under one or more
> * contributor license agreements. See the NOTICE file distributed with
> * this work for additional information regarding copyright ownership.
> * The ASF licenses this file to You under the Apache License, Version 2.0
> * (the "License"); you may not use this file except in compliance with
> * the License. You may obtain a copy of the License at
> *
> * http://www.apache.org/licenses/LICENSE-2.0
> *
> * Unless required by applicable law or agreed to in writing, software
> * distributed under the License is distributed on an "AS IS" BASIS,
> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> * See the License for the specific language governing permissions and
> * limitations under the License.
> */
> package com.xpectis.test;
> import org.apache.camel.CamelContext;
> import org.apache.camel.Exchange;
> import org.apache.camel.ProducerTemplate;
> import org.apache.camel.builder.RouteBuilder;
> import org.apache.camel.impl.DefaultCamelContext;
> import org.apache.commons.logging.Log;
> import org.apache.commons.logging.LogFactory;
> public class ProcessEvent {
> private static final transient Log LOG =
> LogFactory.getLog(ProcessEvent.class);
> protected CamelContext camelContext;
> protected Object body = "Hello there!";
> protected String uri = "event://default";
> protected ProducerTemplate<Exchange> template = null;
> public void startCamel() throws Exception {
> camelContext = new DefaultCamelContext();
>
> camelContext.addRoutes(createRouteBuilder());
> camelContext.start();
> template = camelContext.createProducerTemplate();
> template.sendBody(uri, body);
> }
>
> protected RouteBuilder createRouteBuilder() throws Exception {
> return new RouteBuilder() {
> @Override
> public void configure() throws Exception {
> from("event://default").to("mock:test");
> }
> };
> }
> /**
> * @param args
> */
> public static void main(String[] args) {
>
> ProcessEvent event = new ProcessEvent();
> try {
> event.startCamel();
> } catch (Exception e) {
> e.printStackTrace();
> }
> }
>
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.