java - 计算队列中的消息(以编程方式)-Jboss 7

标签 java jboss7.x message

AS:Jboss 7

假设我在文件中定义了一个队列:

{JBOSS7_HOME}/standalone/configuration/standalone.xml

<jms-queue name="myQueue">
    <entry name="java:/queue/myQueue"/>
    <durable>true</durable>
</jms-queue>

问题:

如何以编程方式检查队列中的消息数量?

最佳答案

您可以使用以下代码。

String jndiFactory="org.jboss.naming.remote.client.InitialContextFactory";
String jmsFactory="jms/RemoteConnectionFactory";
String queueName="jms/queue/MyQueue";
String providerUrl="remote://ipAddress:4447";
String username="testuser";
String password="testpassword";

Session qsession = null;
Connection qcon = null;
QueueBrowser browser = null;

ConnectionFactory qconFactory;
InitialContext ctx = null;
int depth=0;
try{
    Hashtable<String, String> env = new Hashtable<String, String>();
    env.put(Context.INITIAL_CONTEXT_FACTORY, jndiFactory);
    env.put(Context.PROVIDER_URL, providerUrl);
    env.put(Context.SECURITY_PRINCIPAL, username);
    env.put(Context.SECURITY_CREDENTIALS, password);

    ctx = new InitialContext(env);
    qconFactory = (QueueConnectionFactory) ctx.lookup(jmsFactory);
    qcon = qconFactory.createConnection(username, password);
    qsession = qcon.createSession(false, Session.AUTO_ACKNOWLEDGE);
    Queue queue = (Queue) ctx.lookup(qName);
    browser = qsession.createBrowser(queue);
    qcon.start();
    for (Enumeration e = browser.getEnumeration(); e.hasMoreElements();e.nextElement()) {
        depth++;
    }
}catch(Exception e){
    System.out.println("Some exception :"+e.toString());
}finally {
    try {
        if(qcon !=null)
            qcon.close();
        if(qsession !=null)
            qsession.close();
        if(browser !=null)
            browser.close();
    } catch (Exception e) {
        System.out.println("Some exception :"+e.toString());
    }
}

关于java - 计算队列中的消息(以编程方式)-Jboss 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19494882/

相关文章:

java - persistence.xml 中的值在 EJB 中意味着什么?

android - 如何在使用 emailIntent 发送电子邮件后自动隐藏键盘

ruby-on-rails - ruby on rails 闪存消息 - :alert :error :notice and :success?

android - 将消息正文和电话号码发送到 Viber

java 转换整数以通过网络发送

java - 在 Mac 上从 Java 1.6 切换到 1.8

java - res/drawable/abc_ic_ab_back_material.xml Resources$NotFoundException 上的 Kitkat

java - Arrays.sort() -- 原始和复杂数据类型的两种不同排序策略

ssl - 如何强制 jboss as 7 使用 TLS 1.0 服务 https?

java - jBoss 卡在 netbeans 中,永远不会启动