自从一周以来,我一直在努力创建一条符合要求的驼峰路线。
以下是用于从文件网络中进行检索和存储的2个接口/驼峰路由
存储文件
from("activemq:queue:STORE_DOCUMENT_QUEUE")
.process(new Processor() {
public void process(Exchange exchange) throws Exception {
exchange.getIn().getHeaders().put(PropertyIds.CONTENT_STREAM_MIME_TYPE, "application/pdf; charset=UTF-8");
exchange.getIn().getHeaders().put(PropertyIds.NAME, exchange.getIn().getHeader(Exchange.FILE_NAME));
exchange.getIn().getHeaders().put(CamelCMISConstants.CMIS_FOLDER_PATH, "/TEST");
}
})
.to("cmis://${header.cmisUrl}");
检索文档
from("activemq:queue:RETRIEVE_DOCUMENT_QUEUE")
.setBody(constant("SELECT * FROM cmis:document WHERE cmis:name LIKE '%requestkey%'"))
.to("cmis://${header.cmisUrl}")
.split(body())
.process(new Processor() {
public void process(Exchange exchange) throws Exception {
Map<String, Object> body = (Map<String, Object>)exchange.getIn().getBody();
exchange.getIn().getHeaders().put(Exchange.FILE_NAME, body.get(PropertyIds.NAME));
exchange.getIn().setBody(body.get(CamelCMISConstants.CAMEL_CMIS_CONTENT_STREAM));
}
})
.to("file:src/test");
在上述路线中,没有/非常少的元数据信息...... 如果我需要按元数据搜索文档或使用元数据作为密钥存储到filenet文档。 示例:将包含以下键的文档存储为元数据并使用相同的方法进行检索 1.身份证号码 2.文件类型 3.收据日期
有人可以告诉我在camel exchange中设置元数据的知识,或者使用元数据来存储和撤回文档吗?