1

こんにちは私はキューへのアクセスと作成を保護するためにactivemqを構成したいと思います。

client.<client-id>.sub

client.<client-id>.pub

そして遅く、リダイレクトされたメッセージにclient-idヘッダーを追加して、一意のキューへのCamelリダイレクトを作成します

なにか提案を?

PS私の英語を忘れてください

4

1 に答える 1

0

ActiveMQキューおよびトピックへの承認を処理する方法は、プレフィックスおよびユーザーレベルでのauthorizationPluginによるものです。

<authorizationPlugin>
       <map>
         <authorizationMap>
           <authorizationEntries>
             <authorizationEntry queue="client.client123.>" read="client123" write="client123" admin="admins" />
             <authorizationEntry topic="client.client123.>" read="client123" write="client123" admin="admins"/>
              ... etc. for other clients.
           </authorizationEntries>

これは、client123が任意の認証メカニズムによって認証されていることを前提としています。

Camelにルーティングを処理させる方法には従いませんが、おそらくこのようなものは、複数のクライアントキューからヘッダー付きの単一のキューにルーティングしたいものです(ほんの一例ですが、それに合わせて変更する必要があります)あなたのケースは少し、エラー処理などがあります。

>ワイルドカードキューの使用に注意してください。

 from("jms:queue:client.>")
        .process(new Processor(){
            @Override
            public void process(Exchange exchange) throws Exception {
                String queue = exchange.getIn().getHeader("JMSDestination").toString();
                // queue name is: queue://client.<client_id>.xx
                String clientId = queue.substring(queue.indexOf(".")+1);
                int idx = clientId.lastIndexOf(".");
                clientId = clientId.substring(0,idx);
                System.out.println("ClientID: " + clientId);
                exchange.getIn().setHeader("SendingClientId", clientId);
            }

        })
        .to("jms:queue:collector.queue");
于 2013-01-31T16:29:47.370 に答える