問題タブ [camel-jdbc]
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.
apache-camel - キャメルjdbcエンドポイントで複数のデータソースを有効にする方法は?
複数のデータソースに対してキャメル ロード バランサーを有効にしたいと考えています。camel jdbc エンドポイントで複数のデータソースを有効にする方法を教えてください。前もって感謝します!!
これが私のコードです。defaultcamelcontext で複数のデータソースを作成しています。
複数のデータソースを指す私のルートビルダー:
私の要件は、データソースがダウンしている場合、リクエストを自動的に datasource1 にリダイレクト/選択する必要があることです。それを達成する方法を教えてください。
spring - Camel -Spring 準備済みステートメントの使用中に SQLException が発生する
Spring 2.7.11 で Camel 2.13.1 を使用し、SQL コンポーネントを使用して更新クエリを実行しようとすると SQL 例外を受け取ります。以下は、更新クエリをルートに追加する方法です。本文で java.util.Map を使用して、入力パラメーター値をこのステートメントに渡します。
主な問題:準備されたステートメントに入力パラメーターが1つしかない場合、正常に動作します..以下の更新クエリのように複数ある場合、SQL例外で失敗します
camel-JDBC を使用しても同じ問題に直面する
これは、私がいつも目にする SQL 例外です。
JMS メッセージ リスナーの実行に失敗しました。原因: [ org.apache.camel.RuntimeCamelException - org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; 不適切な SQL 文法 []; ネストされた例外は java.sql.SQLSyntaxErrorException: ORA-00942: テーブルまたはビューが存在しません ]: org.apache.camel.RuntimeCamelException: org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; 不適切な SQL 文法 []; ネストされた例外は java.sql.SQLSyntaxErrorException: ORA-00942: テーブルまたはビューが存在しません
注: データベース接続とデータベース テーブルに問題はありません
java - Camel - useMessageBodyForSql を使用した camel-sql バッチ挿入
ここのドキュメントを読みました
「バッチが true に設定されている場合、受信メッセージ本文の解釈がわずかに変更されます。コンポーネントは、パラメーターのイテレーターではなく、パラメーター イテレーターを含むイテレーターを期待します。外側のイテレーターのサイズによってバッチ サイズが決まります。」
「Camel 2.16 以降では、メッセージ本文を SQL ステートメントとして使用できるようにするオプション useMessageBodyForSql を使用できます。その後、SQL パラメーターは、キー SqlConstants.SQL_PARAMETERS を含むヘッダーで提供する必要があります。これにより、SQL コンポーネントがより動的に動作できるようになります。 SQLクエリはメッセージ本文からのものです。」
私は次のルートを持っています:
本体は、パラメーター リストに一致するキー/値のマップです。
これは機能しますが、期待どおりではありません。
予想されるバッチ挿入ではなく、各行が 1 つずつ挿入されます。このオプションの組み合わせは可能ですか?
不可能な場合、これを達成するための代替方法は何ですか?
jpa - Camel-JPA: No option to send a command message to the JPA component (like in JDBC comopnent)
In the Camel-JDBC component, we can send a select statement as a body to the jdbc endpoint, which returns the results.
Below sample code is from the Camel-JDBC website:
Why is such an option not present in the Camel-JPA component?
Using JPA endpoint as a consumer will poll the database. But, all I want is to just get the data once.
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 のチケットがあると、挿入プロセスが開始されます。挿入プロセスの最適化に役立つ人はいますか? または他のアプローチ?