You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by enqac 20171204 <en...@gmail.com> on 2017/12/04 06:28:08 UTC
Apache Camel Intermittently cannot lookup bean in Wildfiy
I would like to seek help on our problem encountered=>
registry.lookupByName(getName()) intermittently/randomly return null. The
application/wildfly/camel are running normal before and after the error, a
consecutive call to lookupByName(getName()) within a minute will return the
object without problem
Our call to lookup bean using org.apache.camel.spi.Registry =>
protected Object lookupBean() {
val o = registry.lookupByName(getName());
if (o == null) {
throw new RuntimeException("Failed to lookup " + getName() + " in the
registry! Please check whether the EJB server is active.");
}
try {
return o;
}
catch (Exception e) {
throw new RuntimeException(e);
}
}
Stack trace when the error is spotted =>
[2017-11-28 17:15:09.808 +0800] INFO [HRA_UploadCV_PM:176] Start time:
28-11-2017 17:15:09
[2017-11-28 17:15:58.824 +0800] INFO [HRA_UploadCV_PM:176] Uploading CV
[2017-11-28 17:16:09.168 +0800] ERROR [o.a.c.p.DefaultErrorHandler:215]
Failed delivery for (MessageId: ID-edept-50169-1511808434900-0-730 on
ExchangeId: ID-edept-50169-1511808434900-0-732). Exhausted after delivery
attempt: 1 caught: java.lang.RuntimeException: Failed to lookup
hra2/hra2-ejb//HRACVTmpSrvBean!gov.edept.hra2.ejb.service.IHRACVTmpSrvBean
in the registry! Please check whether the EJB server is active.
Message History
---------------------------------------------------------------------------------------------------------------------------------------
RouteId ProcessorId Processor
Elapsed (ms)
[HRA_UploadCV_PM ] [HRA_UploadCV_PM ]
[quartz2://ifd/Cronjob-UploadCV2?cron=0+15+17+*+*+%3F
] [ 67609]
[HRA_UploadCV_PM ] [to44 ]
[bean:mdcBean?method=putMdcFileName('batch-log/hra/UploadCV/UploadCV')
] [ 1000]
[HRA_UploadCV_PM ] [log46 ] [log
] [ 7390]
[HRA_UploadCV_PM ] [log47 ] [log
] [ 48985]
[HRA_UploadCV_PM ] [log48 ] [log
] [ 15]
[HRA_UploadCV_PM ] [log49 ] [log
] [ 16]
[HRA_UploadCV_PM ] [to45 ]
[ejb:hra2/hra2-ejb//HRACVTmpSrvBean!gov.edept.hra2.ejb.service.IHRACVTmpSrvBean]
[ 10093]
Exchange
---------------------------------------------------------------------------------------------------------------------------------------
Exchange[
Id ID-edept-50169-1511808434900-0-732
ExchangePattern InOnly
Headers {breadcrumbId=ID-edept-50169-1511808434900-0-730,
calendar=null, CamelRedelivered=false, CamelRedeliveryCounter=0,
fireTime=Tue Nov 28 17:15:00 CST 2017, jobDetail=JobDetail
'ifd.Cronjob-UploadCV2': jobClass:
'org.apache.camel.component.quartz2.CamelJob concurrentExectionDisallowed:
false persistJobDataAfterExecution: false isDurable: false
requestsRecovers: false,
jobInstance=org.apache.camel.component.quartz2.CamelJob@1ecd9d38,
jobRunTime=-1, mergedJobDataMap=org.quartz.JobDataMap@566f09e1,
nextFireTime=Wed Nov 29 17:15:00 CST 2017, previousFireTime=null,
refireCount=0, result=null, scheduledFireTime=Tue Nov 28 17:15:00 CST 2017,
scheduler=org.quartz.impl.StdScheduler@6eccd2bb, trigger=Trigger
'ifd.Cronjob-UploadCV2': triggerClass:
'org.quartz.impl.triggers.CronTriggerImpl calendar: 'null'
misfireInstruction: 1 nextFireTime: Wed Nov 29 17:15:00 CST 2017,
triggerGroup=ifd, triggerName=Cronjob-UploadCV2}
BodyType null
Body [Body is null]
]
Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------
java.lang.RuntimeException: Failed to lookup
hra2/hra2-ejb//HRACVTmpSrvBean!gov.edept.hra2.ejb.service.IHRACVTmpSrvBean
in the registry! Please check whether the EJB server is active.
at gov.edept.ifd.Ejb2RegistryBean.lookupBean(Unknown Source)
~[ifd.jar:na]
at gov.edept.ifd.Ejb2RegistryBean.getBean(Unknown Source) ~[ifd.jar:na]
at
org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:77)
~[camel-core-2.12.x.jar:2.12.2]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:105)
[camel-core-2.12.x.jar:2.12.2]
at
org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:67)
~[camel-core-2.12.x.jar:2.12.2]
at
org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:103)
~[camel-core-2.12.x.jar:2.12.2]
at
org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:71)
~[camel-core-2.12.x.jar:2.12.2]
at
org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)
~[camel-core-2.12.x.jar:2.12.2]
at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:110)
~[camel-core-2.12.x.jar:2.12.2]
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)
~[camel-core-2.12.x.jar:2.12.2]
at
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398)
~[camel-core-2.12.x.jar:2.12.2]
at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
[camel-core-2.12.x.jar:2.12.2]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:118)
[camel-core-2.12.x.jar:2.12.2]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)
[camel-core-2.12.x.jar:2.12.2]
at
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)
[camel-core-2.12.x.jar:2.12.2]
at
org.apache.camel.processor.loadbalancer.QueueLoadBalancer.process(QueueLoadBalancer.java:43)
[camel-core-2.12.x.jar:2.12.2]
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:105)
[camel-core-2.12.x.jar:2.12.2]
at
org.apache.camel.processor.loadbalancer.LoadBalancerSupport.process(LoadBalancerSupport.java:87)
[camel-core-2.12.x.jar:2.12.2]
at
org.apache.camel.component.quartz2.CamelJob.execute(CamelJob.java:52)
[camel-quartz2-2.12.x.jar:2.12.2]
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
[quartz-2.2.x.jar:na]
at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
[quartz-2.2.x.jar:na]
[2017-11-28 17:16:09.308 +0800] ERROR [o.a.c.c.q.CamelJob:59] Error
processing exchange. Exchange[Message: [Body is null]]. Caused by:
[org.quartz.JobExecutionException - java.lang.RuntimeException: Failed to
lookup
hra2/hra2-ejb//HRACVTmpSrvBean!gov.edept.hra2.ejb.service.IHRACVTmpSrvBean
in the registry! Please check whether the EJB server is active.]
The software versions that we are using =>
Apache Camel 2.12.2
WildFly Full 9.0.2.Final
java version "1.8.0_141"
Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)
Configuration XML of the concerned Camel route =>
<route id="HRA_UploadCV_PM" startupOrder="15310"
autoStartup="false">
<from uri="quartz2://ifd/Cronjob-UploadCV2?cron=0+15+17+*+*+?"
/>
<!--<from uri="timer://foo?repeatCount=1"/>-->
<to
uri="bean:mdcBean?method=putMdcFileName('{{UploadCV.outbox.directoryAndFileName}}')"
/>
<log message=":" />
<log message="Start time: ${date:now:dd-MM-yyyy}
${date:now:HH:mm:ss}" />
<log message=":" />
<log message="Uploading CV" />
<to
uri="ejb:hra2/hra2-ejb//HRACVTmpSrvBean!gov.edept.hra2.ejb.service.IHRACVTmpSrvBean?method=uploadCV()"
/>
<log message="End time: ${date:now:dd-MM-yyyy}
${date:now:HH:mm:ss}\r\n" />
<to uri="bean:mdcBean?method=removeMdcFileName" />
</route>
<route id="_HRA_UploadCV_PMRunOnce" startupOrder="15315"
autoStartup="false" routePolicyRef="runOnceRoutePolicy">
<from
uri="bean:mdcBean?method=putMdcFileName('{{UploadCV.outbox.directoryAndFileName}}')"
/>
<log message=":" />
<log message="Start time: ${date:now:dd-MM-yyyy}
${date:now:HH:mm:ss}" />
<log message=":" />
<log message="Uploading CV" />
<to
uri="ejb:hra2/hra2-ejb//HRACVTmpSrvBean!gov.edept.hra2.ejb.service.IHRACVTmpSrvBean?method=uploadCV()"
/>
<log message="End time: ${date:now:dd-MM-yyyy}
${date:now:HH:mm:ss}\r\n" />
<to uri="bean:mdcBean?method=removeMdcFileName" />
</route>