小编bic*_*ter的帖子

Apache Camel JSON编组到POJO Java Bean

我想我有一个简单的问题,但似乎无法弄明白.

我正在使用从解组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而有所不同.

谢谢,

比克

json marshalling apache-camel unmarshalling

8
推荐指数
1
解决办法
2万
查看次数

Docker加载并保存:“ archive / tar:无效的tar标头”

我正在尝试将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实例上验证了校验和,并且与源中的校验和相同。

有什么问题或如何解决?

linux redhat tar docker docker-image

7
推荐指数
3
解决办法
6773
查看次数