我想我有一个简单的问题,但似乎无法弄明白.
我正在使用从解组JSON创建的类调用POJO作为方法的参数.问题是,如何将方法的返回编组回JSON?
我的路线在下面;
from("direct:start")
.choice()
.when(header("methodname").isEqualTo("listCases"))
.unmarshal().json(JsonLibrary.Jackson, UserDetails.class)
.to("bean:com.xxx.BeanA")
.when(header("methodName").isEqualTo("listPersons"))
.unmarshal().json(JsonLibrary.Jackson, CaseDetails.class)
.to("bean:com.xxx.BeanB");
Run Code Online (Sandbox Code Playgroud)
......我正在通过下面的方式调用路线;
ProducerTemplate template = camelContext.createProducerTemplate();
template.setDefaultEndpoint(camelContext.getEndpoint("direct:start"));
InvocationResult result = (InvocationResult)template.requestBodyAndHeader(payload, "methodName", methodName);
Run Code Online (Sandbox Code Playgroud)
Payload是JSON,在此示例中,methodName是listCases或listPersons.
我的InvocationResult类是通用的,包含String returnCode属性以及对我想要转换为JSON的对象的对象引用.此对象将根据是否执行listCases或listPersons而有所不同.
谢谢,
比克
我正在尝试将Docker映像导入AWS Red Hat Linux(3.10.0-514.el7.x86_64)上的Docker中,并且出现错误问题;
Error processing tar file(exit status 1): archive/tar: invalid tar header
Run Code Online (Sandbox Code Playgroud)
相同的映像在我的本地计算机上运行良好,在Windows上的Boot2Docker中也运行良好。它非常大(2.5 GB),但是我已经在Red Hat Linux实例上验证了校验和,并且与源中的校验和相同。
有什么问题或如何解决?