私はヘーゼルキャストとキャメルが初めてです。camel を使用してマップ ローダーを作成しているときに、「load」メソッド内で camel ルートを呼び出しています。コンテナは「dataSyncLoad」コンテナが存在することを示していますが、アプリケーションの起動時にデータをロードしている間は、以下のエラーが発生します。
ヘーゼルキャスト・マップローダー
@Produce(uri = "direct:dataSyncLoad")
private ProducerTemplate dataSyncLoad;
@Override
public synchronized DataSyncServiceRequest load(CellDataSyncKey key) {
DataSyncServiceRequest dataSynchTemplateVO = dataSyncLoad.requestBody("direct:dataSyncLoad",key , DataSyncServiceRequest.class);
if (null != dataSynchTemplateVO) {
LOGGER.info("Cache Loaded: {}", key);
} else {
LOGGER.info("No data found for the key : {}", key);
}
return dataSynchTemplateVO;
}
マップ構成
<hz:map name="getsToolCcaDatasyncMap" backup-count="0" max-size="100" eviction-percentage="25" eviction-policy="LRU"
read-backup-data="0">
<hz:map-store enabled="true" initial-mode="EAGER" write-delay-seconds="0" implementation="getsToolCcaDatasyncMapLoader"
/>
</hz:map>
//dataSyncLoad]. Exchange[Message: CellDataSyncKey [locoid=20695, dataTemplate=3, deviceName=CCA]] at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:47)[142:org.apache.camel.camel -core:2.12.0.redhat-610379] org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191)[142:org.apache.camel.camel-core:2.12.0.redhat-610379] ] org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:73)[142:org.apache.camel.camel-core:2.12.0.redhat-610379] org.apache.camel.impl. ProducerCache$2.doInProducer(ProducerCache.java:378)[142:org.apache.camel.camel-core:2.12.0.redhat-610379] org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java: 346) [142:org.apache.camel.camel-core:2.12.0.redhat-610379] org.apache.camel.impl で。