問題タブ [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.
java - 一重引用符を Camel クエリ パラメータとして渡すことはできますか?
私はこのようなクエリを実行しようとしています:
私は camel sql コンポーネントを使用しており、次のようにヘッダーを介してパラメーターを渡しています。
クエリ:SELECT * from Employee where First_Name between :#headerParam
パラメータ:AA' and 'AK
Camel の SQL コンポーネントがパラメータの最初と最後に一重引用符を追加することを知っています。パラメータ間をループしています。パラメータから一重引用符を削除しない方法はありますか?
parameters - Apache Camel SQL コンポーネントで消費された SQL 行のみを更新する方法は?
私はCamelが初めてで、SQLデータを処理しようとしています。SQL の消費 (選択) が完了すると、消費された行を更新しようとしますが、「SQL 文法が正しくありません」という例外が発生します。
私は Apache Camel SQL コンポーネントを使用しています。開始エンドポイントは sql select ステートメントです。それらを消費済みとしてマークするには、 SQL-ComponentonConsume
のパラメーターを使用します。選択では、後で更新で使用される元のテーブルのビューです。したがって、と の行のは同じです。のすべての行を更新するわけではないため、where 条件を使用します。v_table
t_table
id
v_table
t_table
t_table
where id = :#id
これを実行すると、次の例外が発生します。
test-id (たとえば "3") を使用してデータベースで手動で更新を実行しようとしましたが、これは機能するため、一般的な SQL 文法は問題ないはずです。:#id
したがって、キャメルはパラメーターを置き換えることができないようです。
選択の結果を確認するために、プロセッサを追加しました。
ここで、select が必要な を正常にキャッチしたことがわかりますid
。:#id
Camel がパラメーターを値 3に置き換えることができない理由がわかりませんid
。この問題を解決する方法を知っている人はいますか? これとこれを大まかな例/テンプレートとして使用しました。それとも、このアプローチは一般的に間違っていますか?
metadata - camel-sql コンポーネントからテーブル メタデータを取得する方法
camel-sql コンポーネントを使用して、指定されたテーブル名のすべての列メタデータを取得する方法を探しています。
舞台裏で spring-jdbc を使用していますが、ResultSetMetaData を取得する方法がわかりません。
java - Apache Camel SQL バッチ挿入に時間がかかる
Apache Camel SQL バッチ挿入プロセスを使用しています。
私のアプリケーションは、約 2000 のチケットを含む Active MQ からチケットを読み取っています。
バッチを 100 として更新しました。
私が発砲しているクエリは次のとおりです。
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)
SQL バッチ ルートは次のように定義されます。
/li>以下は私のJavaコードです:
/li>
ここでの問題は、ActiveMQ に約 120 のチケットがある場合、SQL バッチが値をデータベースに挿入することを開始する必要があることです。しかし、それにはもっと時間がかかります。ActiveMQ に約 500 のチケットがあると、挿入プロセスが開始されます。挿入プロセスの最適化に役立つ人はいますか? または他のアプローチ?
java - apache camel sqlバッチ挿入で自動コミットをfalseに設定するには?
私は apache-camel sql-batch 挿入を使用しています。SQLバッチ挿入の私のルートは次のとおりです。
このルートに autocommit false を設定したいです。誰でもこれで私を助けることができますか? 参考までに...バッチ挿入にmybatisを使用すると、mybatisフレームワークによって自動コミットがfalseに設定されます。プレーンSQLを使用するときにどうすれば同じことができますか?
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」を挿入する方法がよくわかりません。