Select to view content in your preferred language

Implement a processor with multiple output events

165
0
08-21-2024 08:59 AM
sjung
by
New Contributor

Hello,

I am currently having problems with the development of a processor that sends several events from an incoming event. As long as I return a GeoEvent in the ‘process’ method, the GeoEvent is also passed on. But similar to the field splitter, I would like to send several events.

My implementation corresponds to that of the field splitter: https://github.com/Esri/field-splitter-for-geoevent

I use the GeoEventProducer, but in all attempts so far the message cannot be delivered.

Failed delivery for (MessageId: CE1040AF8412D23-0000000000001BAC on ExchangeId: CE1040AF8412D23-0000000000001BAC). Exhausted after delivery attempt: 1 caught: java.lang.NullPointerException Message History (complete message history is disabled) --------------------------------------------------------------------------------------------------------------------------------------- RouteId ProcessorId Processor Elapsed (ms) [e3764731-c622-4740] [e3764731-c622-4740] [from[direct://e3764731-c622-4740-8256-bcae48d87df9-58a7cf5a-fb6a-4c01-8546-410] [ 1] ... [e3764731-c622-4740] [bean31 ] [bean[com.esri.ges.processing.camel.EventRecipientListManager] ] [ 0] Stacktrace --------------------------------------------------------------------------------------------------------------------------------------- java.lang.NullPointerException: null at org.apache.camel.processor.RecipientListProcessor.createProcessorExchangePairs(RecipientListProcessor.java:221) ~[!/:3.11.1] at org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:307) ~[!/:3.11.1] at org.apache.camel.processor.RecipientList.process(RecipientList.java:176) ~[!/:3.11.1] at org.apache.camel.component.bean.MethodInfo$1.doProceed(MethodInfo.java:336) ~[?:?] at org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:286) ~[?:?] at org.apache.camel.component.bean.AbstractBeanProcessor.process(AbstractBeanProcessor.java:146) ~[?:?] at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:81) ~[?:?] at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:463) [!/:3.11.1] at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:179) [!/:3.11.1] at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:64) [!/:3.11.1] at org.apache.camel.processor.Pipeline.process(Pipeline.java:184) [!/:3.11.1] at org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:398) [!/:3.11.1] at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:96) [!/:3.11.1] at org.apache.camel.support.DeferProducer.process(DeferProducer.java:60) [!/:3.11.1] at org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:398) [!/:3.11.1] at org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:56) [!/:3.11.1] at org.apache.camel.processor.EventNotifierProducer.process(EventNotifierProducer.java:70) [!/:3.11.1] at org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:83) [!/:3.11.1] at org.apache.camel.support.DefaultAsyncProducer.process(DefaultAsyncProducer.java:41) [!/:3.11.1] at org.apache.camel.component.bean.AbstractCamelInvocationHandler$1.call(AbstractCamelInvocationHandler.java:192) [!/:3.11.1] at java.util.concurrent.FutureTask.run(Unknown Source) [?:?] at org.apache.camel.component.bean.AbstractCamelInvocationHandler.doInvoke(AbstractCamelInvocationHandler.java:210) [!/:3.11.1] at org.apache.camel.component.bean.AbstractCamelInvocationHandler.invokeProxy(AbstractCamelInvocationHandler.java:172) [!/:3.11.1] at org.apache.camel.component.bean.CamelInvocationHandler.doInvokeProxy(CamelInvocationHandler.java:43) [!/:3.11.1] at org.apache.camel.component.bean.AbstractCamelInvocationHandler.invoke(AbstractCamelInvocationHandler.java:81) [!/:3.11.1] at com.sun.proxy.$Proxy104.receive(Unknown Source) [?:?] at com.esri.ges.messaging.jms.MessagingImpl$ConsumerThreadHelper.run(MessagingImpl.java:112) [!/:?]

Is there another way to realise this? Is the GeoEventProducer still supported?

The GeoEvent Server and SDK version is currently 10.8.1/10.9.1

Thanks for any hint,

Stefan

@EricIronside 

Tags (2)
0 Kudos
0 Replies