Okay. Thank you update and for creating an JIRA ticket.

I see it is already resolved. However, in order to test it locally on my
dev environment, i cannot find the artifactory where i could download the
changes from this ticket https://issues.apache.org/jira/browse/CAMEL-11945

Where can i get the camel 2.21.0-snapshot or 2.20.1-snapshot artifactory?



On Wed, Oct 25, 2017 at 12:01 PM, Claus Ibsen <[email protected]> wrote:

> Hi
>
> See ticket
> https://issues.apache.org/jira/browse/CAMEL-11945
>
> On Tue, Oct 24, 2017 at 3:36 PM, Dicken George <[email protected]>
> wrote:
> > Dear Fellow Developers,
> >
> > Just recently, I tried to upgrade my camel-spring boot project form camel
> > 2.19.3 to camel 2.20.0 and I face the problem that, I cannot boot up my
> > application any more, and I get the following stack trace
> >
> > java.lang.NullPointerException
> > at
> > com.haufe.ssmp.sfdc.api.app.BeanConfiguration.afterApplicationStart(
> BeanConfiguration.java:66)
> > at
> > org.apache.camel.spring.boot.RoutesCollector.onApplicationEvent(
> RoutesCollector.java:226)
> > at
> > org.apache.camel.spring.boot.RoutesCollector.onApplicationEvent(
> RoutesCollector.java:54)
> > at
> > org.springframework.context.event.SimpleApplicationEventMulticas
> ter.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
> > at
> > org.springframework.context.event.SimpleApplicationEventMulticas
> ter.invokeListener(SimpleApplicationEventMulticaster.java:165)
> > at
> > org.springframework.context.event.SimpleApplicationEventMulticas
> ter.multicastEvent(SimpleApplicationEventMulticaster.java:139)
> > at
> > org.springframework.context.support.AbstractApplicationContext.
> publishEvent(AbstractApplicationContext.java:393)
> > at
> > org.springframework.context.support.AbstractApplicationContext.
> publishEvent(AbstractApplicationContext.java:347)
> > at
> > org.springframework.context.support.AbstractApplicationContext.
> finishRefresh(AbstractApplicationContext.java:883)
> > at
> > org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.
> finishRefresh(EmbeddedWebApplicationContext.java:144)
> > at
> > org.springframework.context.support.AbstractApplicationContext.refresh(
> AbstractApplicationContext.java:546)
> > at
> > org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.
> refresh(EmbeddedWebApplicationContext.java:122)
> > at
> > org.springframework.boot.SpringApplication.refresh(
> SpringApplication.java:693)
> > at
> > org.springframework.boot.SpringApplication.refreshContext(
> SpringApplication.java:360)
> > at
> > org.springframework.boot.SpringApplication.run(
> SpringApplication.java:303)
> > at
> > org.springframework.boot.SpringApplication.run(
> SpringApplication.java:1118)
> > at
> > org.springframework.boot.SpringApplication.run(
> SpringApplication.java:1107)
> > at com.haufe.ssmp.sfdc.api.Application.main(Application.java:12)
> >
> > Due to my complex use case, i would like to start one specific route
> > manually and not use the autoconfiguration and autostart from
> camelcontext.
> > I do this in my configuration class by over riding the before application
> > start and after application start methods.
> >
> > @Configuration
> > class BeanConfiguration implements CamelContextConfiguration {
> >     private static final Logger log =
> > LoggerFactory.getLogger(BeanConfiguration.class);
> >
> >     @Override
> >     public void beforeApplicationStart(CamelContext camelContext) {
> >         camelContext.setPackageScanClassResolver(new
> > FatJarPackageScanClassResolver());
> >         camelContext.resolveDataFormat("json-jackson");
> >     }
> >
> >     @Autowired
> >     SalesforceComponent sfdcComp;
> >
> >     @Override
> >     public void afterApplicationStart(CamelContext camelContext) {
> >
> >         try {
> >             sfdcComp.start();
> >             camelContext.startRoute("salesforce-versions");
> >             Route theRoute = camelContext.getRoute("
> salesforce-versions");
> >             Endpoint ep = theRoute.getEndpoint();
> >
> >             Exchange exchange = ep.createExchange();
> >             ProducerTemplate template =
> > exchange.getContext().createProducerTemplate();
> >             DefaultExchange o = (DefaultExchange) template.request(ep,
> new
> > Processor() {
> >
> >                 @Override
> >                 public void process(Exchange exchange) throws Exception {
> >                     // TODO Auto-generated method stub
> >
> >                 }
> >             });
> >             Object result = o.getOut().getBody();
> >             if(result == null && !(result instanceof ArrayList))
> >                     throw new Exception("No Salesforce version, login
> > failed.");
> >
> >             ArrayList theList = (ArrayList) result;
> >             if(theList.size() <= 1)
> >                     throw new Exception("No Salesforce version got, login
> > failed.");
> >             log.debug("Connection to salesforce successfully
> established:");
> >
> >         } catch (Exception e) {
> >             // TODO Auto-generated catch block
> >             e.printStackTrace();
> >             throw new RuntimeException("No Connection to salesforce");
> >         }
> >
> >     }
> > In this code, i saw during my debugging that it was able to start the
> > routes in camelcontext object and get the endpoints, however with version
> > 2.20.0 I see my routes are not added to the camelcontext and no routes
> are
> > started.
> >
> > Could anyone help me here to trouble shoot this issue ?
> >
> > Thanks in advance
> > --
> >
> > Dicken George
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2
>



-- 

Dicken George

Reply via email to