boxLid1
我的pom.xml如下所示
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.infinispan.InfinispanConstants;
import org.apache.camel.component.jackson.JacksonDataFormat;
import org.apache.camel.model.dataformat.JsonLibrary;
import uk.co.sammy.model.Collection;
public class InfinispanRoute extends RouteBuilder {
private JacksonDataFormat json = new JacksonDataFormat(Collection.class);
@Override
public void configure() throws Exception {
from("file:src/data?noop=true&include=.*.json")
.choice()
.when()
.jsonpath("$..CustInfo[?(@.firstName == 'Sammy')]").unmarshal(json)
.log("Got customer data for ${body.custInfo.firstName}")
.setHeader(InfinispanConstants.OPERATION, constant(InfinispanConstants.PUT_IF_ABSENT))
.setHeader(InfinispanConstants.KEY, simple("${body.custInfo.firstName}"))
.to("infinispan://localhost")
.marshal().json(JsonLibrary.Jackson)
.to("activemq:queue:incomingApplication", "activemq:queue:customerDetails");
from("activemq:queue:incomingApplication")
.setHeader(InfinispanConstants.OPERATION, constant(InfinispanConstants.GET))
.setHeader(InfinispanConstants.KEY, constant("${body.custInfo.firstName}"))
.to("infinispan://foo?cacheName=localCache")
.setBody(simple("${header.CamelInfinispanOperationResult}"))
.to("activemq:output");
}
}
我已经尝试了三天让这个简单的示例代码与Infinispan一起使用REdhat入门指南并下载快速入门zip来运行但仍然无效!我不断收到Spring JMS的错误“无法连接到foo:11222 ”或“池未打开”,然后发出关于混合Uber和Jars版本的警告。我开始使用ehcache,这是一个很难实现,因为有限的简单示例显示如何存储,检索和清除休息调用等缓存。现在,我需要这个工作,所以我可以轻松地将其迁移到Openshift但仍然不行!每次重新启动项目时,我都会遇到不同的错误。请逐步设置Infinispan使用我的上述代码工作的任何帮助将非常感谢。谢谢你们!
P.S:我已经阅读了Redhat数据网格入门页面,并按照他们的指示进行操作,然后再作为我的最后一招!
答案 0 :(得分:3)
使用“infinispan:// localhost”uri格式将尝试连接到Infinispan服务器。要使用嵌入式缓存,您应该使用类似“infinispan://?cacheName = localCache”
答案 1 :(得分:1)
我在您提供的示例中看到了一些错误:
第一条路线:
第二条路线: