我想从Apache Camel路由动态查询MongoDB集合。The Apache Camel docs show how to query a collection using a constant value from("direct:findOneByQuery")
.setHeader(MongoDbConstants.CRITERIA, Filters.eq("name", "Raul Kripalani"))
.to("mongodb:myDb?database=flights&collection=
在我的camel RouteConfig.java中,我无法连接到mongo数据库。我得到以下异常:原因: org.apache.camel.NoSuchBeanException:在注册表中找不到类型为: myDb的bean : com.mongodb.Mongo at org.apache.camel.util.CamelContextHelper.mandatoryLookup(CamelContextHelper.java:130) at org.apache.camel.component.mongodb.MongoDbComponent.createEndpoint(MongoDb
我不确定我是否误解了MongoDB camel模块的文档,但是阅读文档似乎表明传入的主体将被转换为文档或列表,因此可以将其插入到集合中。
基本上,我有一个非常简单的路由(TransformRoute),它接收CSV数据,将其转换为java,并使用杰克逊通过一个ActiveMQ发送它,该ActiveMQ被封送为JSON。队列由另一个路由(PersistRoute)读取,该路由应该将数据保存到MongoDB。如果我将每个java作为消息发送到ActiveMQ上,它就会像预期的那样工作,但是如果将整个CSV文件转换成一个java列表并通过ActiveMQ发送,它就会失败,我真的有点困惑。
Trans
我在这里找到了一个解决方案:How do I create a dynamic equals query using Apache Camel and MongoDB? 但这看起来需要做很多工作。Camel不是有一种更简单的方法将值传递给MongoDB查询吗?我希望我们可以只传递Mongo使用的实际find({})语言。 下面是我正在做的事情,一些日志显示了它在做什么: .setHeader(MongoDbConstants.CRITERIA, new Expression() {
@Override
public <T> T evaluate(Exchange
问题
我有一个驼峰路径,它读取4个xml文件,并使用驼峰加密加密它们。我还有另外一种方法,可以提取这些加密的文件,解密并保存到文件系统中。它工作得非常好。
但是,我需要在一个camel路径中解密和压缩这些文件。我没能做到这一点。任何帮助都将不胜感激。
异常
Caused by: java.io.IOException: Attempted to read a '1347093252' byte initialization vector from inputStream but only '6016' bytes were retrieved
我想向csv编组传递一个动态分隔符,如下所示。
<marshal>
<csv delimiter="${header.FIELD_DELIMITER}"/>
</marshal>
当我像上面那样尝试时,我得到了这个异常:
Caused by: java.lang.IllegalArgumentException: Delimiter must have a length of one!
at org.apache.camel.model.dataformat.CsvDataFormat.configureDataFormat(
我需要侦听活动mq并调用rest post api来获取作为主体接收的数据,为此,我创建了简单的spring引导2.x应用程序,并试图启动路由器,但应用程序未能启动。
我对注册路由器的理解是使用@Component指定一个类,它应该实现camel RouteBuilder
@Component
public class Router extends RouteBuilder{
@Override
public void configure() throws Exception {
from("timer:foo").to("log
有人能建议如何在Camel SSH组件中指定keyPairProvider选项吗?
我正在尝试使用Camel SSH组件和KeyPairProvider选项连接到远程SSH服务器。文档不清楚如何使用这个选项,语法或我们需要提供的值等。我尝试给出类名,完整的类路径,密钥文件名等。我总是得到下面的错误。
Caused by: java.lang.IllegalArgumentException: Could not find a suitable setter for property: keyPairProvider as there isn't a setter method with
我刚刚开始使用Apache Camel,我想尝试同步两个表。这两个表都有两列,"id“和"name”。该场景将查询第一个表,检查第二个表中是否存在每条记录,然后插入不存在的每条记录。这是我的尝试:
<camel:camelContext id="test">
<camel:route>
<camel:from uri="timer://kickoff?period=5s"/>
<camel:to uri="sql:select id, name from t