問題タブ [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 投票する
0 に答える
683 参照

java - 一重引用符を Camel クエリ パラメータとして渡すことはできますか?

私はこのようなクエリを実行しようとしています:

私は camel 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 コンポーネントを使用しています。開始エンドポイントは sql select ステートメントです。それらを消費済みとしてマークするには、 SQL-ComponentonConsumeのパラメーターを使用します。選択では、後で更新で使用される元のテーブルのビューです。したがって、と の行のは同じです。のすべての行を更新するわけではないため、where 条件を使用します。v_tablet_tableidv_tablet_tablet_tablewhere id = :#id

これを実行すると、次の例外が発生します。

test-id (たとえば "3") を使用してデータベースで手動で更新を実行しようとしましたが、これは機能するため、一般的な SQL 文法は問題ないはずです。:#idしたがって、キャメルはパラメーターを置き換えることができないようです。

選択の結果を確認するために、プロセッサを追加しました。

ここで、select が必要な を正常にキャッチしたことがわかりますid:#idCamel がパラメーターを値 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バッチ挿入で自動コミットをfalseに設定するには?

私は apache-camel sql-batch 挿入を使用しています。SQLバッチ挿入の私のルートは次のとおりです。

このルートに autocommit false を設定したいです。誰でもこれで私を助けることができますか? 参考までに...バッチ挿入にmybatisを使用すると、mybatisフレームワークによって自動コミットがfalseに設定されます。プレーンSQLを使用するときにどうすれば同じことができますか?

0 投票する
1 に答える
4390 参照

apache-camel - Camel SQL - Spring Boot で DataSource を SimpleRegistry に入れる

Spring Boot を使用して、Camel-sql を使用して MySQL DB にクエリを実行し、REST サービスを呼び出すキャメル ルートを開始しています。

アプリケーションのプロパティ

アプリケーション.java

DataSourceConfig.java

WLRouteBuilder.java

実行すると以下のエラーが表示され、Camel がレジストリで DataSource Bean を見つけられないことがわかりました。Java DSL を使用して Spring Boot のレジストリに「DataSource」を挿入する方法がよくわかりません。