問題タブ [apache-camel]
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 - camel 動的 uri パラメータ
次のようにキャメルでコンテンツエンリッチャーパターンを実装したい:
direct:x
動的 uri は、チャネルから送信される各メッセージに基づいています。したがって、値を含む xml 項目があるとしますa
。URI は http://someurl?q=a のようになりますが、dynamicUri はリソース チャネル識別子にしかできません。
ここでこれに関するいくつかの議論を見つけましたが、よく理解できず、「HttpProducer.HTTP_URI」は私のワークスペースでは利用できません。これにはどのキャメルパッケージが必要ですか?どうすればよいですか? プロセッサかもしれませんが、どうやって?
web-services - Camel を介して均一な Web サービスを渡す
プロジェクトにキャメルを使用することを検討していますが、それが実現可能かどうか、またはキャメルが適切な選択ではないかどうかを知りたいです。Web サービス (CXF または AXIS) 経由で情報を交換するには、まったく同じアプリケーションを実行する複数のクライアントが必要です。交換は、あるクライアントから別のクライアントへのコンテンツ ベースのルーティングを行う中央ハブを経由し、この通信もデータベースに記録します。ハブはまた、あるクライアントの応答を受信したときに別のクライアントにルーティングします。複数のクライアントから大量のこれらの交換が行われている可能性があります。Web サービスはまったく同じなので、異なるシステムを統合する必要はありません。ルーティング メカニズムと、ボリュームを制御するものが必要なだけです。また、Web サービス呼び出しの呼び出し/受け入れの容易さも重要です。私たちは Java/JBoss ショップです。Camel はこの問題の適切な解決策ですか、それともやり過ぎですか、それともこの要件により適したものは他にありますか? ご協力をお願いいたします。ありがとうナディア
java - 既存のルートでの Camel JaxB の問題
ロギングを追加したい既存のルートがあります。現在、そのオブジェクトを交換文字列として渡しています。ルートから呼び出される特定の Java メソッドでは、JAXB を使用してルートをモデルに変換してから、その作業を行い、元に戻します。
ここで、基本的に特定のポイントにジャンプして、モデルをメソッドに渡してデータベースに記録できる一方向のルートが必要です。私は現在 Wiretap を使用していますが、オブジェクトを文字列から実際のモデル タイプにアンマーシャリングして渡し、ルートを通常どおり続行させる方法について少し戸惑っています。
現在、ラクダのサイトはダウンしているので、ここで簡単なことかどうかを確認しています...
を使用したいようですが、ログが存在しなかったかのように、他のすべてをそのままにしておきたいので、これは次の呼び出し (つまり、盗聴) のオブジェクトにのみ非整列化します...
xml - 文字列からの xpath
文字列リテラルから xpath 式を実行しようとしています。いくつかの変数から xpath を作成するので、変数を事前に計算することはできません。私はこのようなsthで終わります:
エラーが発生します。
concat の結果を何らかの形でevaluate()して、実際の NodeList になるようにすれば十分だと思います。これを行うための適切な機能はありますか?
私は Apache Camel でこのテキスト操作を行っていますが、それほど重要ではありません。
編集:
より正確に言うと、Apache Camel はパイプラインとして機能し、XML はパイプラインを通過し、それらの XML をいくつかの方法で処理できます。たとえば、XML のコンテンツまたは構造に基づいていくつかのルールを課すことができます。そのため、これを動的にする必要があります。
私の状況は次のようになります。
- xml を見て、要素operationNameの内容を取得します
- 他のドキュメントで、小文字のoperationNameと文字列リテラル 'Available'から構成される要素を検索します
したがって、私のoperationNameが FOOBAR の場合、ノード//sales:foobarAvailableの存在を確認したい
apache-camel - servicemix内のjaxwsとラクダのルート
私はこのようなことをしたいと思います:
>から<jaxws:endpoint
>へのラクダのルートを設定する方法がわかりません。 使用する構文は何ですか?>を使用できることは知っていますが、必要がなければ使用したくありません。<jaxws:client
<cxf:cxfEndpoint
JBIでこれを行う方法は知っていますが、JBIではなくOSGIバンドルを使用してこれをservicemixにデプロイしたいと考えています。
java - ActiveMQ でのメッセージの重複
私は ActiveMQ を JMS ブローカーおよびコンシューマーとして使用し、jmsTemplate を使用してメッセージを送信します。ピーク時には、毎秒約 100 件のメッセージがあります。
キューにメッセージがいくつあるかは関係ありませんが、メッセージが重複することがよくあります。私が思いついた一時的な解決策は、テーブルにインデックスを設定することです。現時点では、すべてのメッセージはデータベースにのみ保存されます。
私の最初の質問 - 非永続トピックを指定し、応答が必要ない場合、メッセージが複製されるのはなぜですか?
送信者:
リスナー:
春:
2 番目の質問は、jmsContainer の構成に関するものです。上のコードと下のコードの違いは何ですか? 上記のコードはトピックをサブスクライバーとして提供し、以下のコードはキューを提供します。
Camel とそのべき等なConsumer が重複の問題を解決すると思われることがわかりました。3 番目の質問は、Camel の構成に関するものです。私はこの構成を持っています(デフォルト):
それはすべてのキューに適用されますか、それとも明示的なサブスクリプションを作成する必要がありますか? すべてのトピック/キューとすべての着信メッセージをチェックすると思います。現時点での問題は、すべてのメッセージに messageId=null があり、フィルターがそれをパラメーターとして受け取ることです。
messageId を設定する簡単な方法が見つかりませんでした。私の質問 - messageId を設定するだけで十分であり、例外として機能するか、構成に問題があります。たとえば、使用するトピックを指定する必要があります。
ありがとう、
ジダス
migration - OSGi 環境で新しいバージョンのライブラリに移行するためのベスト プラクティスは何ですか?
次のケースがあります。私たちの環境には、apache-karaf 2.0 と apache-camel 2.4.0 で構成される OSGi アプリケーションがいくつかあります。ここで、本番環境を最新バージョンの karaf (2.1.4) と camel (2.6.0) に切り替えたいと思います。問題は、古いアプリケーションにいくつかのパッケージ制約があり、新しいバージョンの camel と互換性がないことです。
既存の OSGi コードを新しいバージョンのライブラリに移行するためのベスト プラクティスはありますか?
dsl - apache camel minaでコーデックを指定する方法
Apache mina で hl7codec を使用しようとしています。春などを使用してそれを行う方法を見ることができます
しかし、POJO / DSLを使用してそれを行う方法がわかりません。つまり、私のルートは次のように指定されています
しかし、これは #hl7codec ID を解決できません。
Spring に対するアレルギーを考えると、コーデックを指定するか、Spring 依存性注入を複製する別の方法を提案できる人はいますか?
java - ApacheCamelスクリプトの問題
Camelを使用したApacheActiveMQで非常に奇妙な問題が発生しました-javascriptとgroovyを使用して例を試しましたが、どちらも「ルートのインストールに失敗しました:ルートの作成に失敗しました...言語が見つからなかったため:groovy」というエラーが発生します
私が使用するグルーヴィーな例は
同じ問題がJavaScriptにも当てはまります。動作する唯一のスクリプトは、「Simple」(内部のCamelスクリプト言語)です。これを修正する方法を教えてください。統合されたApacheCamel2.4.0でActiveMQ5.2.4を使用しています。