2017-02-23 7 views
0

自分のすべてのラクダルートに(パーソナライズされたログ用に)含まれる汎用のJava Beanを開発したいと考えています。このルートは、プロセッサ内でjava関数を呼び出し、交換オブジェクト(および必要に応じて他のもの)を渡します。Apache camelエンドポイントで使用されるプロトコルを取得する方法

ルートが聴いている最初のエンドポイントのタイプを検出するにはどうすればよいですか?それはftp、http、jmsなどから来ることができます。私が記録したい関連情報は、エンドポイントプロトコルに応じて異なるヘッダにあります。例えば、ftpの "CamelFileName"です。

「CamelFilename」ヘッダーが存在する場合、エンドポイントがftpサーバーをリッスンしていることがわかっているか、またはendpointURIを解析できますが、これを取得する信頼性の高い/シード関数がありますか?

答えて

0

getFromEndpointgetFromRouteIdを使用して、Exchangeのfromルートを取得できます。

Exchangeのjavadocを参照してください。http://static.javadoc.io/org.apache.camel/camel-core/2.18.2/org/apache/camel/Exchange.html

+0

ありがとうございます。私が言ったように私はエンドポイントを取得することができますが、そのプロパティの私にプロトコルを与える見つけることができません。 getFromRouteIdはURIを持つStringも返します。サブ文字列を検索する必要があるのですか?この情報を得るための正確なプロパティや関数はありませんか? – Loko

+0

エンドポイントからURLを取得することができ、そこにプロトコル –

+0

を見つけることができますが、これはまさに私の最初のメッセージで話していたものです。私はそれを行うことができますが、それを行うより信頼できる方法があれば、私は喜んで行います。 – Loko

関連する問題