Я сконфигурировал свою тему в jbossmq-Destination-Service.xml следующим образом:
<mbean code="org.jboss.mq.server.jmx.Topic"
name="jboss.mq.destination:service=Topic,name=myTopicName">
<depends optional-attribute-name="DestinationManager">
jboss.mq:service=DestinationManager</depends>
<depends optional-attribute-name="SecurityManager">
jboss.mq:service=SecurityManager</depends>
<attribute name="SecurityConf">
<security>
<role name="guest" read="true" write="true" create="true"/>
<role name="publisher" read="true" write="true" create="false"/>
<role name="durpublisher" read="true" write="true" create="true"/>
</security>
</attribute>
</mbean>
Я могу легко подключиться к теме, чтобы публиковать сообщения, выполнив JNDI-поиск по названию темы, и все работает нормально.
Однако я хочу иметь возможность очищать сообщения через определенные промежутки времени, поскольку они могут устареть в зависимости от некоторых других функций системы, но я не могу найти никаких примеров или объяснений того, как это сделать.
Проблема в том, что когда я выполняю JNDI-поиск по теме, он возвращает org.jboss.mq.SpyTopic, который не имеет никакой функциональности для удаления сообщений или даже для определения количества сообщений в теме. Все примеры показывают, что org.jboss.mq.server.JMSTopic обладает всеми функциями, но я не могу понять, как преобразовать SpyTopic в JMSTopic или как настроить тему, чтобы поиск JNDI возвращал JMSTopic.
Может кто-нибудь помочь?
Спасибо.