匿名クライアントがトピックをサブスクライブできるように、activemq サーバーを構成しようとしています (トピックを作成または発行することはできません)。
ブローカー構成に応じて権限を設定しました。
<plugins>
<simpleAuthenticationPlugin anonymousAccessAllowed="true">
<users>
<authenticationUser username="system" password="manager"
groups="anonymous,admins"/>
</users>
</simpleAuthenticationPlugin>
<!-- Lets configure a destination based authorization mechanism -->
<authorizationPlugin>
<map>
<authorizationMap>
<authorizationEntries>
<authorizationEntry queue=">" read="admins,anonymous" write="admins" admin="admins" />
<authorizationEntry topic=">" read="admins,anonymous" write="admins" admin="admins" />
</authorizationEntries>
</authorizationMap>
</map>
</authorizationPlugin>
</plugins>
ウェブで見つけたいくつかのチュートリアルに基づいて、サブスクライブするために以下のコードを使用しています。ただし、このトピックのコンシューマ コードと、私が見つけたすべてのものは、バインドする activemq トピックを作成し (トピックが既に存在する場合はイベント)、結果として、ユーザーに管理者権限を付与した場合にのみ承認されます。 ..トピックを作成せずにサブスクライブする方法はありますか?
ActiveMQSslConnectionFactory connectionFactory = new ActiveMQSslConnectionFactory(connectionString);
connection = connectionFactory.createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
destination = session.createTopic(topicName);
MessageConsumer consumer = null;
consumer = session.createConsumer(destination);
consumer.setMessageListener(this);
connection.start();