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

Apache camel文件组件不移动文件

麹渊
2023-03-14
public class MoveFilesTest {
    private static final Log LOG = LogFactory.getLog(MoveFilesTest.class);

    public static void main(String args[]) throws Exception {
        LOG.debug("create CamelContext");
        CamelContext context = new DefaultCamelContext();

        // add our route to the CamelContext
        context.addRoutes(new RouteBuilder() {
            File file = null;
            public void configure() {
                from("file:data/inbox?delay=100&noop=true")
                .process( new Processor() {

                    public void process(Exchange msg) throws Exception {
                        File file = msg.getIn().getBody(File.class);
                        LOG.debug("Processing file: " + file.getName());

                    }
                })

                .to("file:data/outbox").end();
            }
        });

        LOG.debug("start the route and let it do its work");
        context.start();

        context.stop();

    }
}
DEBUG [main] (MoveFilesTest.java:24) - create CamelContext
DEBUG [main] (MoveFilesTest.java:45) - start the route and let it do its work
 INFO [main] (DefaultCamelContext.java:1498) - Apache Camel 2.12.1 (CamelContext: camel-1) is starting
 INFO [main] (ManagedManagementStrategy.java:187) - JMX is enabled
 INFO [main] (DefaultTypeConverter.java:50) - Loaded 176 type converters
 INFO [main] (DefaultCamelContext.java:1689) - StreamCaching is not in use. If using streams then its recommended to enable stream caching. See more details at http://camel.apache.org/stream-caching.html
 INFO [main] (FileEndpoint.java:83) - Endpoint is configured with noop=true so forcing endpoint to be idempotent as well
 INFO [main] (FileEndpoint.java:89) - Using default memory based idempotent repository with cache max size: 1000
 INFO [main] (DefaultCamelContext.java:2183) - Route: route1 started and consuming from: Endpoint[file://data/inbox?delay=100&noop=true]
 INFO [main] (DefaultCamelContext.java:1533) - Total 1 routes, of which 1 is started.
 INFO [main] (DefaultCamelContext.java:1534) - Apache Camel 2.12.1 (CamelContext: camel-1) started in 8.936 seconds
 INFO [main] (DefaultCamelContext.java:1706) - Apache Camel 2.12.1 (CamelContext: camel-1) is shutting down
 INFO [main] (DefaultShutdownStrategy.java:172) - Starting to graceful shutdown 1 routes (timeout 300 seconds)
 INFO [Camel (camel-1) thread #2 - ShutdownTask] (DefaultShutdownStrategy.java:600) - Route: route1 shutdown complete, was consuming from: Endpoint[file://data/inbox?delay=100&noop=true]
 INFO [main] (DefaultShutdownStrategy.java:217) - Graceful shutdown of 1 routes completed in 0 seconds
 INFO [main] (DefaultCamelContext.java:1780) - Apache Camel 2.12.1 (CamelContext: camel-1) uptime 8.953 seconds
 INFO [main] (DefaultCamelContext.java:1781) - Apache Camel 2.12.1 (CamelContext: camel-1) is shutdown in 0.013 seconds

共有1个答案

温嘉赐
2023-03-14

是的,你启动骆驼并立即停止。所以,当你把一个文件放到文件夹里。它不会处理,因为骆驼已经停止了。

Camel包含main实现,以保持Camel在独立应用程序中运行。

有链接:http://camel.apache.org/running-camel-standalone-and-have-it-keep-running.html

 类似资料:
  • 因此,我写了一个脚本,删除一个文件夹,然后将该文件移动到它自己删除的文件夹。文件夹可以很好地放下,但文件不会移动。有人能看出我的代码有什么问题吗?或者给我一个更好的方法来移动文件。我也没有收到关于尝试移动文件的错误消息。 我有一个程序,我用它把VBS变成和EXE,所以你可以看到“file.exe”,这真的是。VBS本身

  • 我不知道我在这里做错了什么。我尝试了各种方法,包括绝对路径、相对路径、启用日志记录(这似乎也不起作用)、使用Main、使用DefaultCamelContext、添加threadsleep,但我无法让camel将文件从一个文件夹移动到另一个文件夹。 这是我的代码: 有人能发现上面的问题吗? 谢谢

  • 我正在开发一个带有文件上传的web应用程序。 我只是写了一个PHP代码来上传一个图像。 当我运行此代码时,我可以在文件上传时获得输出,如果上传错误 我给了777权限来访问pic文件夹 有什么问题,有什么想法吗,, 类型 Print_R 数组 谢啦

  • 我有一个包含10个图像的文件夹,我希望根据其当前文件名将其移动到一个新文件夹中。我已经成功地将文件夹中的每个图像移动到了一个新文件夹中,到目前为止,我已经成功地将每个图像文件名移动到了它自己的文件夹中,但我还没有弄清楚如何将具有相同文件名的所有图像移动到一个文件夹中,然后将另一个移动到另一个文件夹中。例如,下面我想相应地移动图像。 1600_01.jpg--- 到目前为止,这是我的代码,通过根据图

  • 我需要过去7天的存储日志来移动一个新文件夹。但是,我不能移动它们,并得到了这个错误。 重命名(/var/www/html/eMarketing/storage/logs/old-log-2020-02-27,/var/www/html/eMarketing/storage/logs/laravel-2020-02-27.log):不是目录 我的密码在这里

  • 此任务用于将文件移动到新文件或目录,它还可用于将文件集移动到新目录。 默认情况下,如果文件已存在,则会覆盖目标文件。 属性用于将文件或整个目录移动到新的目标目录。 属性 描述 必需 要移动的文件或目录 是 保留上次移动的文件名 否 目标文件 否 目标目录 否 即使目标文件较新,它也会覆盖现有文件 否 会覆盖只读目标文件 否 指示是否应在移动期间进行令牌过滤 否 忽略了源目录的目录结构 否 复制空目