问题标签 [camel-sql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
454 浏览

apache-camel - Camel-SQL 组件 useIterator 未按预期工作

我正在尝试使用带有选项的 camel-sql 组件,useIterator=true但结果仍会加载到一个大列表中。我有 200 万条记录要处理,并且无法将结果集放在一个列表中。下面是路由配置:

从源代码中可以清楚地看出,camel 将整个结果集放入列表中,然后创建相同的迭代器。错误的设计。

0 投票
0 回答
683 浏览

java - 我可以将单引号作为骆驼查询参数传递吗?

我正在尝试进行这样的查询:

我正在使用骆驼 sql 组件并通过标头传递参数,如下所示:

询问:SELECT * from Employee where First_Name between :#headerParam

参数:AA' and 'AK

我知道 Camel 的 SQL 组件在参数的开头和结尾添加了单引号,并且我在参数之间循环,有什么方法不会从我的参数中删除单引号?

0 投票
1 回答
3497 浏览

parameters - 如何使用 Apache Camel SQL 组件仅更新使用的 sql 行?

我是 Camel 的新手,我尝试处理 SQL 数据。如果 SQL 消费(选择)完成,我会尝试更新消费的行,但我只是得到一个“错误的 SQL 语法”异常。

我使用 Apache Camel SQL-Component,其中起始端点是 sql select 语句。要将它们标记为已使用,我使用SQL-ComponentonConsume的参数。在选择中,是原始表的视图,之后在更新中使用。所以和中的一行是一样的。为了不更新 中的所有行,我使用 where 条件。v_tablet_tableidv_tablet_tablet_tablewhere id = :#id

如果我执行这个,我会得到以下异常:

我尝试使用 test-id(例如“3”)在数据库中手动执行更新,它有效,所以通用 SQL 语法应该没问题。所以在我看来,骆驼不能替换:#id参数。

我添加了一个处理器,以检查选择的结果:

在这里我可以看到,选择成功地抓住了必要的id. 我不明白为什么 Camel 不能:#id用值 3 替换参数id。有谁知道如何解决这个问题?我用这个这个作为一个粗略的例子/模板。还是这种方法总体上是错误的?

0 投票
1 回答
159 浏览

metadata - 如何从 camel-sql 组件获取表元数据

我正在寻找一种使用camel-sql组件获取给定表名的所有列元数据的方法。

尽管它在幕后使用 spring-jdbc,但我看不到获取 ResultSetMetaData 的方法。

0 投票
1 回答
1537 浏览

java - Apache Camel SQL批量插入需要很长时间

我正在使用 Apache Camel SQL 批量插入过程。

  1. 我的应用程序正在从包含大约 2000 个票证的 Active MQ 中读取票证。

  2. 我已将批次更新为 100。

  3. 我正在触发的查询如下:

    sql.subs.insertCdr= insert into subscription_logs(master_id,request_type,req_desc,msisdn,amount,status,resp_code,resp_desc,channel,transaction_id,se_mode,be_mode,sub_type,sub_timeleft,srv_name,srv_id,start_date,end_date,operator,circle,country,time_offset,retry_count,user_status,previous_state,se_reqrecvtime,se_respsenttime,be_reqsenttime,be_resprecvtime,cp_id,cp_name,sub_srvname,sub_srvid,msg_senderid,msg_text,call_back_url,call_back_resp,client_ip,se_sysIp,language,cp_callbackurlhittime,action,alert,notification_url,notification_resp) values(:#masterId, :#requestType,:#reqDesc,:#msisdnCdr,:#price,:#status,:#responseCode,:#reason,:#channel,:#transactionId,:#seMode,:#beMode,:#subType,:#subTimeLeft,:#serviceName,:#serviceId,:#subStartDate,:#cdrEndDate,:#operator,:#circle,:#country,:#timeOffset,:#retryCount,:#userStatus,:#previousState,:#seReqRecvTime,:#seRespSentTime,:#beReqSentTime,:#beRespRecvTime,:#cpId,:#cpName,:#subServiceName,:#subServiceId,:#shortCode,:#message,:#callBackUrl,:#callBackResp,:#clientIp,:#seSysIp,:#language,:#cpCallbackUrlHitTime,:#action,:#alert,:#notificationUrl,:#notificationResponse)

  4. SQL批处理路由定义如下:

    /li>
  5. 下面是我的java代码:

    /li>

现在的问题是当 ActiveMQ 中有大约 120 张票时,SQL 批处理应该已经开始将值插入到数据库中。但这需要更多的时间。当 ActiveMQ 中有大约 500 张票时,它开始插入过程。任何人都可以帮助优化插入过程吗?还是有其他方法?

0 投票
2 回答
990 浏览

java - 如何在 apache camel sql 批量插入中设置 autocommit false?

我正在使用 apache-camel sql-batch 插入。我的sql批量插入路线如下:

我想为此路由配置自动提交 false。有人可以帮我解决这个问题吗?仅供参考...当我使用 mybatis 进行批量插入时,mybatis 框架将自动提交设置为 false。使用平面 sql 时如何做同样的事情?

0 投票
1 回答
1575 浏览

apache-camel - 具有 JDBC 存储库 Apache Camel 的幂等消费者

我正在使用 Apache Camel 开发 springboot,所以我的问题是我如何编写代码以使用 Idempotentconsumer 和 JDBC 存储库使用 Apache Camel。

0 投票
1 回答
4390 浏览

apache-camel - Camel SQL - 在 Spring Boot 中将数据源放入 SimpleRegistry

我正在使用 Spring Boot 启动骆驼路线,该路线使用 Camel-sql 来查询 MySQL DB 并调用 REST 服务。

应用程序属性

应用程序.java

数据源配置.java

WLRouteBuilder.java

我在运行时看到以下错误,发现 Camel 无法在注册表中找到 DataSource bean。我不太确定如何使用 Java DSL 在 Spring Boot 中将“DataSource”注入 Registry。

0 投票
2 回答
1932 浏览

spring-boot - Camel-Spring Boot:执行后路由不会停止

我正在使用带有以下配置的 Spring Boot + Camel。

主班

应用程序属性

pom.xml

由于“camel.springboot.main-run-controller”属性,我的 Spring Boot 在执行 SELECT 查询的无限循环中运行路由,直到我点击 CNTRL+C。如果我删除此属性,应用程序只会立即启动和停止路由,而不会完成执行。

有人可以帮我,让我的路线开始,执行步骤并在我运行 Spring Boot 应用程序时停止吗?

0 投票
1 回答
736 浏览

spring - 是否可以使 JMS 选择器不区分大小写?

我知道 JMS 标头属性区分大小写。但我正在研究一项要求,我必须使 JMS 选择器不区分大小写。有可能这样做吗?我正在使用骆驼,下面是我在属性文件中定义我的选择器的方式。

accountQueue = ActiveMQqueueJmsComponent:queue:account?selector=money <> ('Dollar')

骆驼路线:

我尝试使用 UPPER 和 LOWER 之类的功能,但未能成功。我定义如下。