当前位置: 首页 > 知识库问答 >
问题:

Apache camel-使用直接组件调用文件endpoint

端木志诚
2023-03-14

我需要在调用SFTPendpoint之前调用特定逻辑。考虑中的逻辑将在exchange中注入一些标头。当SFTP路由启动时,将使用这些标头。

因此,我试图在第一次计时时调用我的初始设置逻辑。它只会运行一次。某些标头将设置在exchange对象内。然后,在完成此操作后,应调用文件endpoint。标头应流经在这些endpoint之间传递的exchange对象。

我试着探索这个的直接组件。我试过这样的

from("timer://cacheEntryCount?repeatCount=1")
.process(new Processor() {
    @Override
    public void process(Exchange exchange) throws Exception
    {
        logger.info("setting count");
        exchange.getIn().setHeader("count",1);
    }
})
.to("direct:"+fileUrl);

from("direct:"+fileUrl)
  ....
  ....
  .process(new Processor() {
        @Override
    public void process(Exchange exchange) throws Exception
    {
        logger.info("accessing count");
        exchange.getIn().getHeader("count");
    }
  ....

其中fileUrl=file:/tmp/refDataFiles?字符集=UTF-8

但这给了我以下的错误

无法解析endpoint:Direct://file:/temp/refDataFiles? charset=UTF-8,原因是:有1个参数无法在endpoint上设置。检查uri参数是否拼写正确并且它们是endpoint的属性。未知参数=[{charset=UTF-8}]

这里如何进行?请帮忙。


共有1个答案

孔寒
2023-03-14

此错误意味着直接endpoint不支持将字符集作为查询参数的名称,因为它不是文档中所示列表的一部分。

这里的问题是,在运行时URI是<代码>direct://file:/temp/refDataFiles?charset=UTF-Camel将其解释为一个URI,引用直接endpoint,名称为file:/temp/refDataFiles,查询参数为charset=UTF-8。

我不确定我是否真的明白您要做的事情,但您显然混合了无法工作的Directfileendpoint。

 类似资料:
  • 我正在尝试使用Selenium WebDriver自动执行文件下载功能。我正在使用谷歌浏览器,要下载的文件类型是PDF格式。当 WebDriver 单击下载(或打印)链接时,浏览器将显示 pdf 文件的预览,而不是直接下载。如何使chrome驱动程序直接下载pdf文件?我尝试了下面的代码,但没有运气 我知道这个问题已经在StackOverflow上问过了,包括这个,但这些解决方案都不适合我。 我正

  • 问题内容: 我正在部署用Java编写的接受命令行参数的命令行工具。我将其打包为JAR文件,因为使用单个文件很方便。 问题是要运行它,您必须先调用它,这很烦人。 我目前拥有的方法是启动一个简单的bash脚本,但这并不理想。 无论如何(在Linux,Ubuntu Server中)是否可以制作一个JAR文件来单独调用Java VM?我一直在寻找Shebang,但找不到它(这是合理的,因为它是编译后的代码

  • 问题内容: 我对React.js还是很陌生,但是在探索它时,我期望我做不到的事情。 说我有一个组成部分: 这是将其添加到DOM的唯一方法吗? 我希望在定义组件之后能够直接在HTML中执行类似的操作: 我想念什么吗?谢谢 问题答案: 不,使用是“唯一的方法”。 您可能会期望像Webcomponents这样的东西,您可以在其中定义自定义元素并将其放入HTML中,但这不是React的工作方式(也许)。

  • 我需要将文件从文件夹同步到restendpoint。因此,如果文件被放置在特定文件夹中,我需要将该文件发送到接受多部分文件的RESTendpoint。我正在使用ApacheCamel来实现这一点。 RESTendpoint在Spring中编写,如下所示: 我是Camel的新手,并且已经弄清楚了如何通过构建路由并获取文件来轮询目录,但是我无法弄清楚如何使用此路由将此文件放入其余endpoint。这是

  • 问题内容: 关于此问题,有什么方法可以将[文件从ASP.NET应用程序直接上传到Amazon S3并具有进度条? -—编辑---- 两天后,仍然没有直接的运气。发现了一件看起来很有前途但又不是免费的东西:http : //www.flajaxian.com/ 使用Flash通过进度条直接上传到S3。 问题答案: 我也在寻找解决方案。也许这会有所帮助, 来自AWS Dev Commnity, 但在许

  • 问题内容: 我正在使用以下代码: 它在我的IDE中抛出错误,但为什么呢?我已经使用了一些示例中的代码。 我不知道要写入什么,因为我想转换任何CSV文件。 如何将任何CSV文件转换为JSON并将其保存到磁盘? 接下来做什么?例子 问题答案: 我认为,您应该使用它来解决问题。请参见以下示例: 有关更多信息和示例,请参见此页面:jackson-dataformat-csv。