Apache Camel是一个功能强大的开源集成框架,基于已知的企业集成模式和强大的Bean集成
当deleteAfterRead为假时,幂等Camel AWS2-S3消费者无法从存储桶中检索所有文件
我将 Camel AWS2-S3 与基于 MemoryIdempotRepository 的幂等消费者一起使用,并尝试使用 Camel AWS2-S3 版本 3.14.2 读取 AWS/S3 存储桶中的所有文件。目的是保持...
Apache Camel - 如何在 split(body()).streaming().aggregate 之后使用丰富()?
Camel 3.21 & String Boot 2.7.15 公共无效配置()抛出异常{ AggregationStrategy arrayListStrategy = AggregationStrategies.flexible(Document.class) .
Apache Camel Springboot 测试:AssertionError:mock://checks 收到的消息计数。预期:<1> 但实际是:<0>
我在 Spring Boot 应用程序中有以下路线 @Slf4j @成分 公共类 LogRoute 扩展 RouteBuilder { @覆盖 公共无效配置(){ 来自(“直接:log&q...
如何将 Camel ConvertBodyTo 与列表一起使用
我有一个类型 A 的列表,我想将其转换为类型 B 的列表。 让我们想象一下: // ...调用数据库并获取映射到列表的几行 .to("jdbc:...") .convertBodyTo(L...
OpenApi 与 apache camel-cxfrs 集成
我想根据我的 cxf 服务生成 openApi 文档。 我使用了以下资源: https://cxf.apache.org/docs/openapifeature.html 当我在不使用camel-cxfrs的情况下启动服务时 -
我有一个测试类,它有一个 String isMockEndpointsAndSkip() { return ("*") } 用于测试一些东西,这使得其他类抱怨以下异常 java.lang。
为我关于使用 Camel 和 JMS 组件的问题设置上下文: • 目前面向消息中间件支持的Camel 组件有ActiveMQ、AMQ 和JMS。 •
我正在尝试使用camel通过ftp上传文件。我的代码如下 公共静态无效主(字符串... args)抛出异常{ CamelContext 上下文 = new DefaultCamelContext(); 上下文。
java.lang.IllegalArgumentException:组件netty不是RestConsumerFactory
我正在尝试使用netty组件,但我遇到了以下错误。我也尝试了jeety。但它不起作用。我使用camel 3.21.0,java版本是17。任何帮助都是有用的。 其余配置定义
尝试使用 Apache Camel“Vault”函数访问名称中包含“/”的 AWS 密钥
我正在使用 Apache Camel 功能从 AWS Secrets Manager 加载密钥: https://camel.apache.org/blog/2022/03/secrets-properties-functions/ 只要我使用没有...的测试秘密,这就有效。
Apache Camel ConsumerCount - 它是如何工作的?
根据文档,“连接到 kafka 服务器的消费者数量。每个消费者都在单独的线程上运行,用于检索和处理传入数据”。 所以如果我有 5 个 kafka 分区...
我有一个使用 Camel 和 Quartz 的简单 Springboot 应用程序: org.springframework.boot spring-boot-starter-parent 我有一个简单的 Springboot 应用程序,使用 Camel 和 Quartz: <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.14</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-quartz</artifactId> </dependency> <dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-spring-boot-starter</artifactId> <version>3.20.6</version> </dependency> <dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-quartz-starter</artifactId> <version>3.20.6</version> </dependency> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <scope>runtime</scope> </dependency> </dependencies> 我建立了与数据库的连接: spring.datasource.url=jdbc:postgresql://localhost:5432/schedule_module spring.datasource.username=postgres spring.datasource.password=1111 spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect spring.jpa.hibernate.ddl-auto=update spring.quartz.job-store-type=jdbc spring.quartz.properties.org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate spring.quartz.properties.org.quartz.jobStore.tablePrefix=qrtz_ spring.quartz.properties.org.quartz.jobStore.isClustered=true 并写出了最简单的路线: import org.apache.camel.builder.RouteBuilder; import org.springframework.stereotype.Component; @Component public class SimpleRouter extends RouteBuilder { @Override public void configure() throws Exception { from("quartz://simpleRouterScheduler?trigger.repeatInterval=5000") .routeId("SimpleRouter") .log("SimpleRouter Hello"); } } 首次启动应用程序时,将启动路线并将其时间表存储在数据库中: 2023-07-31 10:49:08.940 INFO 4744 --- [ main] r.s.n.p.s.ScheduleApp03Application : Starting ScheduleApp03Application using Java 17.0.6 on DESKTOP-6SHGJTA with PID 4744 (C:\work\dev\testsapps\camel\schedule-app03\target\classes started by baa in C:\work\dev\testsapps\camel\schedule-app03) 2023-07-31 10:49:08.942 INFO 4744 --- [ main] r.s.n.p.s.ScheduleApp03Application : No active profile set, falling back to 1 default profile: "default" 2023-07-31 10:49:10.309 INFO 4744 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2023-07-31 10:49:10.468 INFO 4744 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2023-07-31 10:49:10.498 INFO 4744 --- [ main] o.f.c.internal.license.VersionPrinter : Flyway Community Edition 7.15.0 by Redgate 2023-07-31 10:49:10.499 INFO 4744 --- [ main] o.f.c.i.database.base.BaseDatabaseType : Database: jdbc:postgresql://localhost:5432/schedule_module01 (PostgreSQL 9.6) 2023-07-31 10:49:10.536 INFO 4744 --- [ main] o.f.core.internal.command.DbValidate : Successfully validated 2 migrations (execution time 00:00.015s) 2023-07-31 10:49:10.549 INFO 4744 --- [ main] o.f.c.i.s.JdbcTableSchemaHistory : Creating Schema History table "public"."flyway_schema_history" ... 2023-07-31 10:49:10.584 INFO 4744 --- [ main] o.f.core.internal.command.DbMigrate : Current version of schema "public": << Empty Schema >> 2023-07-31 10:49:10.603 INFO 4744 --- [ main] o.f.core.internal.command.DbMigrate : Migrating schema "public" to version "1 - Init DB" 2023-07-31 10:49:10.768 INFO 4744 --- [ main] o.f.core.internal.command.DbMigrate : Migrating schema "public" to version "2 - Insert DB" 2023-07-31 10:49:10.774 INFO 4744 --- [ main] o.f.core.internal.command.DbMigrate : Successfully applied 2 migrations to schema "public", now at version v2 (execution time 00:00.194s) 2023-07-31 10:49:10.889 INFO 4744 --- [ main] org.quartz.impl.StdSchedulerFactory : Using default implementation for ThreadExecutor 2023-07-31 10:49:10.905 INFO 4744 --- [ main] org.quartz.core.SchedulerSignalerImpl : Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl 2023-07-31 10:49:10.905 INFO 4744 --- [ main] org.quartz.core.QuartzScheduler : Quartz Scheduler v.2.3.2 created. 2023-07-31 10:49:10.908 INFO 4744 --- [ main] o.s.s.quartz.LocalDataSourceJobStore : Using db table-based data access locking (synchronization). 2023-07-31 10:49:10.910 INFO 4744 --- [ main] o.s.s.quartz.LocalDataSourceJobStore : JobStoreCMT initialized. 2023-07-31 10:49:10.911 INFO 4744 --- [ main] org.quartz.core.QuartzScheduler : Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED' Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally. NOT STARTED. Currently in standby mode. Number of jobs executed: 0 Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads. Using job-store 'org.springframework.scheduling.quartz.LocalDataSourceJobStore' - which supports persistence. and is clustered. 2023-07-31 10:49:10.911 INFO 4744 --- [ main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. 2023-07-31 10:49:10.911 INFO 4744 --- [ main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler version: 2.3.2 2023-07-31 10:49:10.911 INFO 4744 --- [ main] org.quartz.core.QuartzScheduler : JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@55f4887d 2023-07-31 10:49:10.961 INFO 4744 --- [ main] o.s.s.quartz.SchedulerFactoryBean : Starting Quartz Scheduler now 2023-07-31 10:49:10.982 INFO 4744 --- [ main] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED started. 2023-07-31 10:49:11.136 INFO 4744 --- [ main] .c.i.e.DefaultAutowiredLifecycleStrategy : Autowired property: scheduler on component: quartz as exactly one instance of type: org.quartz.Scheduler (org.quartz.impl.StdScheduler) found in the registry 2023-07-31 10:49:11.186 INFO 4744 --- [ main] o.a.c.impl.engine.AbstractCamelContext : Apache Camel 3.20.6 (camel-1) is starting 2023-07-31 10:49:11.225 INFO 4744 --- [ main] o.a.c.component.quartz.QuartzEndpoint : Job Camel_camel-1.simpleRouterScheduler (cron=null, triggerType=SimpleTriggerImpl, jobClass=CamelJob) is scheduled. Next fire date is 2023-07-31T10:49:11.693+0300 2023-07-31 10:49:11.237 INFO 4744 --- [ main] o.a.c.impl.engine.AbstractCamelContext : Routes startup (started:1) 2023-07-31 10:49:11.237 INFO 4744 --- [ main] o.a.c.impl.engine.AbstractCamelContext : Started SimpleRouter (quartz://simpleRouterScheduler) 2023-07-31 10:49:11.237 INFO 4744 --- [ main] o.a.c.impl.engine.AbstractCamelContext : Apache Camel 3.20.6 (camel-1) started in 242ms (build:51ms init:141ms start:50ms) 2023-07-31 10:49:11.240 INFO 4744 --- [ main] o.a.c.component.quartz.QuartzComponent : The Quartz scheduler: org.quartz.impl.StdScheduler@315c081 has already been started 2023-07-31 10:49:11.244 INFO 4744 --- [ main] r.s.n.p.s.ScheduleApp03Application : Started ScheduleApp03Application in 2.641 seconds (JVM running for 2.994) 2023-07-31 10:49:11.709 INFO 4744 --- [eduler_Worker-1] SimpleRouter : SimpleRouter Hello 2023-07-31 10:49:16.698 INFO 4744 --- [eduler_Worker-2] SimpleRouter : SimpleRouter Hello 2023-07-31 10:49:21.700 INFO 4744 --- [eduler_Worker-3] SimpleRouter : SimpleRouter Hello 但是当我停止应用程序并重新启动它时,我收到以下消息: 2023-07-31 10:51:04.883 INFO 21732 --- [ main] r.s.n.p.s.ScheduleApp03Application : Starting ScheduleApp03Application using Java 17.0.6 on DESKTOP-6SHGJTA with PID 21732 (C:\work\dev\testsapps\camel\schedule-app03\target\classes started by baa in C:\work\dev\testsapps\camel\schedule-app03) 2023-07-31 10:51:04.885 INFO 21732 --- [ main] r.s.n.p.s.ScheduleApp03Application : No active profile set, falling back to 1 default profile: "default" 2023-07-31 10:51:06.040 INFO 21732 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2023-07-31 10:51:06.168 INFO 21732 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2023-07-31 10:51:06.209 INFO 21732 --- [ main] o.f.c.internal.license.VersionPrinter : Flyway Community Edition 7.15.0 by Redgate 2023-07-31 10:51:06.210 INFO 21732 --- [ main] o.f.c.i.database.base.BaseDatabaseType : Database: jdbc:postgresql://localhost:5432/schedule_module01 (PostgreSQL 9.6) 2023-07-31 10:51:06.251 INFO 21732 --- [ main] o.f.core.internal.command.DbValidate : Successfully validated 2 migrations (execution time 00:00.022s) 2023-07-31 10:51:06.260 INFO 21732 --- [ main] o.f.core.internal.command.DbMigrate : Current version of schema "public": 2 2023-07-31 10:51:06.261 INFO 21732 --- [ main] o.f.core.internal.command.DbMigrate : Schema "public" is up to date. No migration necessary. 2023-07-31 10:51:06.375 INFO 21732 --- [ main] org.quartz.impl.StdSchedulerFactory : Using default implementation for ThreadExecutor 2023-07-31 10:51:06.385 INFO 21732 --- [ main] org.quartz.core.SchedulerSignalerImpl : Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl 2023-07-31 10:51:06.385 INFO 21732 --- [ main] org.quartz.core.QuartzScheduler : Quartz Scheduler v.2.3.2 created. 2023-07-31 10:51:06.388 INFO 21732 --- [ main] o.s.s.quartz.LocalDataSourceJobStore : Using db table-based data access locking (synchronization). 2023-07-31 10:51:06.391 INFO 21732 --- [ main] o.s.s.quartz.LocalDataSourceJobStore : JobStoreCMT initialized. 2023-07-31 10:51:06.392 INFO 21732 --- [ main] org.quartz.core.QuartzScheduler : Scheduler meta-data: Quartz Scheduler (v2.3.2) 'quartzScheduler' with instanceId 'NON_CLUSTERED' Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally. NOT STARTED. Currently in standby mode. Number of jobs executed: 0 Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads. Using job-store 'org.springframework.scheduling.quartz.LocalDataSourceJobStore' - which supports persistence. and is clustered. 2023-07-31 10:51:06.392 INFO 21732 --- [ main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler 'quartzScheduler' initialized from an externally provided properties instance. 2023-07-31 10:51:06.392 INFO 21732 --- [ main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler version: 2.3.2 2023-07-31 10:51:06.393 INFO 21732 --- [ main] org.quartz.core.QuartzScheduler : JobFactory set to: org.springframework.scheduling.quartz.SpringBeanJobFactory@93824eb 2023-07-31 10:51:06.433 INFO 21732 --- [ main] o.s.s.quartz.SchedulerFactoryBean : Starting Quartz Scheduler now 2023-07-31 10:51:06.450 INFO 21732 --- [ main] o.s.s.quartz.LocalDataSourceJobStore : ClusterManager: detected 1 failed or restarted instances. 2023-07-31 10:51:06.451 INFO 21732 --- [ main] o.s.s.quartz.LocalDataSourceJobStore : ClusterManager: Scanning for instance "NON_CLUSTERED"'s failed in-progress jobs. 2023-07-31 10:51:06.458 INFO 21732 --- [ main] o.s.s.quartz.LocalDataSourceJobStore : ClusterManager: ......Freed 1 acquired trigger(s). 2023-07-31 10:51:06.459 INFO 21732 --- [ main] org.quartz.core.QuartzScheduler : Scheduler quartzScheduler_$_NON_CLUSTERED started. 2023-07-31 10:51:06.530 ERROR 21732 --- [eduler_Worker-1] o.a.camel.component.quartz.CamelJob : Failed to execute CamelJob. org.quartz.JobExecutionException: No CamelContext could be found with name: camel-1 at org.apache.camel.component.quartz.CamelJob.getCamelContext(CamelJob.java:103) ~[camel-quartz-3.20.6.jar:3.20.6] at org.apache.camel.component.quartz.CamelJob.execute(CamelJob.java:60) ~[camel-quartz-3.20.6.jar:3.20.6] at org.quartz.core.JobRunShell.run(JobRunShell.java:202) ~[quartz-2.3.2.jar:na] at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) ~[quartz-2.3.2.jar:na] 2023-07-31 10:51:06.531 INFO 21732 --- [eduler_Worker-1] org.quartz.core.JobRunShell : Job Camel_camel-1.simpleRouterScheduler threw a JobExecutionException: org.quartz.JobExecutionException: No CamelContext could be found with name: camel-1 at org.apache.camel.component.quartz.CamelJob.getCamelContext(CamelJob.java:103) ~[camel-quartz-3.20.6.jar:3.20.6] at org.apache.camel.component.quartz.CamelJob.execute(CamelJob.java:60) ~[camel-quartz-3.20.6.jar:3.20.6] at org.quartz.core.JobRunShell.run(JobRunShell.java:202) ~[quartz-2.3.2.jar:na] at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) ~[quartz-2.3.2.jar:na] 2023-07-31 10:51:06.615 INFO 21732 --- [ main] .c.i.e.DefaultAutowiredLifecycleStrategy : Autowired property: scheduler on component: quartz as exactly one instance of type: org.quartz.Scheduler (org.quartz.impl.StdScheduler) found in the registry 2023-07-31 10:51:06.654 INFO 21732 --- [ main] o.a.c.impl.engine.AbstractCamelContext : Apache Camel 3.20.6 (camel-1) is starting 2023-07-31 10:51:06.663 INFO 21732 --- [ main] o.a.c.component.quartz.QuartzEndpoint : Job Camel_camel-1.simpleRouterScheduler (cron=null, triggerType=SimpleTriggerImpl, jobClass=CamelJob) is scheduled. Next fire date is null 2023-07-31 10:51:06.672 INFO 21732 --- [ main] o.a.c.impl.engine.AbstractCamelContext : Routes startup (started:1) 2023-07-31 10:51:06.672 INFO 21732 --- [ main] o.a.c.impl.engine.AbstractCamelContext : Started SimpleRouter (quartz://simpleRouterScheduler) 2023-07-31 10:51:06.672 INFO 21732 --- [ main] o.a.c.impl.engine.AbstractCamelContext : Apache Camel 3.20.6 (camel-1) started in 192ms (build:39ms init:136ms start:17ms) 2023-07-31 10:51:06.673 INFO 21732 --- [ main] o.a.c.component.quartz.QuartzComponent : The Quartz scheduler: org.quartz.impl.StdScheduler@7e8279e5 has already been started 2023-07-31 10:51:06.677 INFO 21732 --- [ main] r.s.n.p.s.ScheduleApp03Application : Started ScheduleApp03Application in 2.087 seconds (JVM running for 2.392) 2023-07-31 10:51:06.705 INFO 21732 --- [eduler_Worker-4] SimpleRouter : SimpleRouter Hello 2023-07-31 10:51:11.699 INFO 21732 --- [eduler_Worker-5] SimpleRouter : SimpleRouter Hello 2023-07-31 10:51:16.704 INFO 21732 --- [eduler_Worker-6] SimpleRouter : SimpleRouter Hello 我是否正确理解,Quartz找不到它第一次收到有关路线及其时间表的数据的CamelContext? 如何设置 Camel,以便 Camel 和 Quartz 每次启动时都能协商相同的上下文? 原因是spring-boot-starter-quartz默认启动调度程序。它在配置 Camel 的 Quartz 组件并将 CamelContext 传递到调度程序实例上下文之前执行此操作。 我没有发现文档中明确提到这一点,但问题是你应该让 Camel 控制调度程序的生命周期。为了实现这一点,请通过设置以下属性来禁用调度程序的自动启动 spring: quartz: auto-startup: false
我定义了以下路线: 来自(直接(路由.SEND_EMAIL_BOP_SINGLE_PER_USER)) .routeId(路由.SEND_EMAIL_BOP_SINGLE_PER_USER) // 将用户名拆分到各个交易所...
使用Camel通过IMAP协议连接outlook.office365.com
我正在尝试使用 Apache Camel 连接到 Outlook.office365.com。我正在遵循骆驼组件“Mail Microsoft Oauth”的说明 在Azure方面,我创建了“应用程序注册&qu...
如何在 Apache Camel 框架中检索 multipart/form-data 请求正文的各个部分?
我在 Apache Camel 框架中定义了以下 RouteBuilder: @RequiredArgsConstructor @成分 公共类 FilesRouteBuilder 扩展 RouteBuilder { @覆盖 公共无效配置...
Json 字符串拆分并使用 Camel 中的 XML DSL 在正文中添加附加对象
在我的一个用例中,我需要根据消息中可用的数组列表将入站 json 消息拆分为多个消息。 例如,在下面的消息中,要采取的拆分...
使用 LRA 协调器的 Spring Boot Camel saga 实现返回连接被拒绝
我正在尝试为我的 Spring Boot 应用程序实现 Apache Camel Saga EPI,并使用外部 LRA 协调器(在 docker 中使用 Narayana )。 虽然我能够验证 LRA 协调员正在工作......
我想使用 Apache Camel 和 TIBCO EMS 构建 quarkus 应用程序。但是,当我尝试为 TIBCO EMS 8.4 版创建连接工厂时,它似乎与我的问题不兼容...
无法使用 Camel 路由从外部 Artemis 服务器接收 JMS 消息,使用 JMS 组件参数并发消费者超过一个
JBoss EAP 7.4.2 中尝试同时从外部 Artemis 服务器接收 JMS 消息的 Camel 路由设置失败,并显示以下警告。 2023-xx-xx 16:04:37,066 GMT 警告 [org.apache....