如何使用EJB3.0在JBossAS7中获取队列详细信息?

如何使用EJB3.0在JBossAS7中获取队列详细信息?,jboss,ejb,jms,hornetq,Jboss,Ejb,Jms,Hornetq,我在JMS项目中工作,我们使用消息驱动bean(@MessageDriven),服务器是JBoss7。我们正在会话中添加作业,因为我们添加了JmsProducer和JmsConsumer。现在,我们要获取当前队列的状态(如当前队列计数、等待计数、顺序、优先级)。所有这些细节都在JmsProducer中设置 我们试图通过CLI脚本和JBoss管理控制台获得这些详细信息。Cli方法的工作原理如下所示 使用的队列是HornetQ "address" => [ ("subsyste

我在JMS项目中工作,我们使用消息驱动bean(@MessageDriven),服务器是JBoss7。我们正在会话中添加作业,因为我们添加了JmsProducer和JmsConsumer。现在,我们要获取当前队列的状态(如当前队列计数、等待计数、顺序、优先级)。所有这些细节都在JmsProducer中设置

我们试图通过CLI脚本和JBoss管理控制台获得这些详细信息。Cli方法的工作原理如下所示

使用的队列是HornetQ

  "address" => [ 
     ("subsystem" => "messaging"), 
     ("hornetq-server" => "default"), 
     ("jms-queue" => "transmit_postprocessing") 
 ],
 "outcome" => "success",
 "result" => { 
     "consumer-count" => 1, 
     "dead-letter-address" => "jms.queue.DLQ", 
     "delivering-count" => 0, 
     "durable" => true, 
     "entries" => ["java:jboss/queue/transmit_postprocessing"], 
     "expiry-address" => "jms.queue.ExpiryQueue", 
     "message-count" => 0L, 
     "messages-added" => 4L, 
     "paused" => false, 
     "queue-address" => "jms.queue.transmit_postprocessing", 
     "scheduled-count" => 0L, 
     "selector" => undefined, 
     "temporary" => false 

 }
JMS制作人:(正在工作)

有没有其他方法可以在JmsConsumer中获取队列详细信息

我们以前针对消费者的代码现在不起作用(可能是因为JBoss版本更改为7)

我尝试了很多方法,但是枚举总是空的(尽管会话/队列在JBoss上运行)

例如:

ConnectionFactory connectionFactory =  (ConnectionFactory)context.lookup("java:/ConnectionFactory");
Queue queue = (Queue)context.lookup("java:jboss/queue/preprocessing"); 
QueueBrowser browser = session.createBrowser(queue); 
ArrayList<QueueMessage> messages = new ArrayList<QueueMessage>(); 
Enumeration e = browser.getEnumeration();
ConnectionFactory ConnectionFactory=(ConnectionFactory)context.lookup(“java:/ConnectionFactory”);
Queue Queue=(Queue)context.lookup(“java:jboss/Queue/preprocessing”);
QueueBrowser browser=会话.createBrowser(队列);
ArrayList消息=新建ArrayList();
枚举e=browser.getEnumeration();
任何可能的方式/方法/想法都会有用。提前谢谢

我的standalone-full.xml文件

<jms-connection-factories>
    <connection-factory name="InVmConnectionFactory">
        <connectors>
            <connector-ref connector-name="in-vm"/>
        </connectors>
        <entries>
            <entry name="java:/ConnectionFactory"/>
        </entries>
    </connection-factory>
    <connection-factory name="RemoteConnectionFactory">
        <connectors>
            <connector-ref connector-name="netty"/>
        </connectors>
        <entries>
            <entry name="RemoteConnectionFactory"/>
            <entry name="java:jboss/exported/jms/RemoteConnectionFactory"/>
        </entries>
    </connection-factory>
    <pooled-connection-factory name="hornetq-ra">
        <transaction mode="xa"/>
        <connectors>
            <connector-ref connector-name="in-vm"/>
        </connectors>
        <entries>
            <entry name="java:/JmsXA"/>
        </entries>
    </pooled-connection-factory>
</jms-connection-factories>


<jms-destinations>
    <jms-queue name="testQueue">
        <entry name="queue/test"/>
        <entry name="java:jboss/exported/jms/queue/test"/>
    </jms-queue>
    <jms-queue name="preprocessing">
        <entry name="java:jboss/queue/preprocessing"/>
        <durable>true</durable>
    </jms-queue>
    <jms-queue name="processing">
        <entry name="java:jboss/queue/processing"/>
        <durable>true</durable>
    </jms-queue>
    <jms-queue name="postprocessing">
        <entry name="java:jboss/queue/postprocessing"/>
        <durable>true</durable>
    </jms-queue>
    <jms-queue name="approval_preprocessing">
        <entry name="java:jboss/queue/approval_preprocessing"/>
        <durable>true</durable>
    </jms-queue>
    <jms-queue name="approval_postprocessing">
        <entry name="java:jboss/queue/approval_postprocessing"/>
        <durable>true</durable>
    </jms-queue>
    <jms-queue name="transmit_preprocessing">
        <entry name="java:jboss/queue/transmit_preprocessing"/>
        <durable>true</durable>
    </jms-queue>
    <jms-queue name="transmit_postprocessing">
        <entry name="java:jboss/queue/transmit_postprocessing"/>
        <durable>true</durable>
    </jms-queue>
    <jms-queue name="batch">
        <entry name="java:jboss/queue/batch"/>
        <entry name="java:jboss/exported/jms/queue/batch"/>
        <durable>true</durable>
    </jms-queue>
    <jms-queue name="plmpreprocessing">
        <entry name="java:jboss/queue/plmpreprocessing"/>
        <durable>true</durable>
    </jms-queue>
    <jms-queue name="dex_delete">
        <entry name="java:jboss/queue/dex_delete"/>
        <durable>true</durable>
    </jms-queue>
    <jms-topic name="testTopic">
        <entry name="topic/test"/>
        <entry name="java:jboss/exported/jms/topic/test"/>
    </jms-topic>
</jms-destinations>

真的
真的
真的
真的
真的
真的
真的
真的
真的
真的
使用的参考资料:

www.mastertheboss.com/jboss-server/jboss-jms/monitoring-jms-resources-with-jboss-as-7


这是否会因为未启用邮件计数而为空

<jms-connection-factories>
    <connection-factory name="InVmConnectionFactory">
        <connectors>
            <connector-ref connector-name="in-vm"/>
        </connectors>
        <entries>
            <entry name="java:/ConnectionFactory"/>
        </entries>
    </connection-factory>
    <connection-factory name="RemoteConnectionFactory">
        <connectors>
            <connector-ref connector-name="netty"/>
        </connectors>
        <entries>
            <entry name="RemoteConnectionFactory"/>
            <entry name="java:jboss/exported/jms/RemoteConnectionFactory"/>
        </entries>
    </connection-factory>
    <pooled-connection-factory name="hornetq-ra">
        <transaction mode="xa"/>
        <connectors>
            <connector-ref connector-name="in-vm"/>
        </connectors>
        <entries>
            <entry name="java:/JmsXA"/>
        </entries>
    </pooled-connection-factory>
</jms-connection-factories>


<jms-destinations>
    <jms-queue name="testQueue">
        <entry name="queue/test"/>
        <entry name="java:jboss/exported/jms/queue/test"/>
    </jms-queue>
    <jms-queue name="preprocessing">
        <entry name="java:jboss/queue/preprocessing"/>
        <durable>true</durable>
    </jms-queue>
    <jms-queue name="processing">
        <entry name="java:jboss/queue/processing"/>
        <durable>true</durable>
    </jms-queue>
    <jms-queue name="postprocessing">
        <entry name="java:jboss/queue/postprocessing"/>
        <durable>true</durable>
    </jms-queue>
    <jms-queue name="approval_preprocessing">
        <entry name="java:jboss/queue/approval_preprocessing"/>
        <durable>true</durable>
    </jms-queue>
    <jms-queue name="approval_postprocessing">
        <entry name="java:jboss/queue/approval_postprocessing"/>
        <durable>true</durable>
    </jms-queue>
    <jms-queue name="transmit_preprocessing">
        <entry name="java:jboss/queue/transmit_preprocessing"/>
        <durable>true</durable>
    </jms-queue>
    <jms-queue name="transmit_postprocessing">
        <entry name="java:jboss/queue/transmit_postprocessing"/>
        <durable>true</durable>
    </jms-queue>
    <jms-queue name="batch">
        <entry name="java:jboss/queue/batch"/>
        <entry name="java:jboss/exported/jms/queue/batch"/>
        <durable>true</durable>
    </jms-queue>
    <jms-queue name="plmpreprocessing">
        <entry name="java:jboss/queue/plmpreprocessing"/>
        <durable>true</durable>
    </jms-queue>
    <jms-queue name="dex_delete">
        <entry name="java:jboss/queue/dex_delete"/>
        <durable>true</durable>
    </jms-queue>
    <jms-topic name="testTopic">
        <entry name="topic/test"/>
        <entry name="java:jboss/exported/jms/topic/test"/>
    </jms-topic>
</jms-destinations>