ActiveMQ Classic の HTTP トランスポートをプロキシ経由でルーティングする
HTTP トランスポートの URI パラメーター proxyHost と proxyPort を使い、ブローカーのエンドポイントと JMS 資格情報はそのまま保ちます。
これは ActiveMQ Classic の HTTP トランスポートを公開しているブローカーで、対応するクライアント側トランスポート実装が利用できる場合にのみ使ってください。TCP コネクターや管理用 Web ページはそのエンドポイントではありません。
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(
"http://broker.example:8081?proxyHost=proxy.example&proxyPort=8080");
broker.example:8081 は HTTP ブローカーの宛先です。proxy.example:8080 はその転送仲介者です。プロキシのパラメーターは URI オプションのままであり、ブローカーのホスト名を置き換えるものではありません。ブローカーの HTTP トランスポートが公開されて到達可能で、公開仲介者が許可されている場合、HTTP プロキシ一覧から、プロキシ資格情報を設定していないルート向けの proxyHost/proxyPort 候補値を得られます。実際のブローカーホストと HTTP トランスポートのポートへの到達を確認してください。
ActiveMQ Classic 5.18.3 は proxyHost/proxyPort からルートを組み立て、proxyUser/proxyPassword を受け付け、指定された HTTP 資格情報をそのプロキシエンドポイントに限定します。予約された資格情報の文字がエンコードされたままになるよう、アプリケーションのパラメーター処理を通じて認証付き URI を構築してください。
仲介者のアカウントは、JMS 接続メソッドが使うブローカーのアカウントとは別です。この設定済みファクトリーは割り当てられたルートに使ってください。JVM の別の場所で別の HTTP クライアントを変更しても、明示的なオプションで既に構築されたファクトリーは更新されません。