【问题标题】:Implementing MDB Pool Listener in JBoss JMS在 JBoss JMS 中实现 MDB 池监听器
【发布时间】:2012-01-03 04:18:14
【问题描述】:

我在 JBoss 中部署了一个应用程序,其中使用 JBoss JMS 实现部署了多个 MDB,每个 MDB 都具有不同的 MDB 池大小配置。我期待某种机制,我们可以在每个 MDB 池大小上都有一个侦听器,我们可以在任何时候检查 MDB 池中的所有实例是否都被利用。这将有助于为每个 MDB 分析和配置适当的 MDB 池大小。

【问题讨论】:

    标签: jboss jms message-driven-bean


    【解决方案1】:

    我们使用Jamon 来监控MDB 实例,如下所示:

        @MessageDriven
    @TransactionManagement(value = TransactionManagementType.CONTAINER)
    @TransactionAttribute(value = TransactionAttributeType.REQUIRED)
    @ResourceAdapter("wmq.jmsra.rar")
    @AspectDomain("YourDomainName")
    public class YourMessageDrivenBean implements MessageListener
    {
        // jamon package constant
        protected static final String WB_ONMESSAGE = "wb.onMessage";
    
        // instance counter
        private static AtomicInteger counter = new AtomicInteger(0);
        private int instanceIdentifier = 0;
    
        @Resource
        MessageDrivenContext ctx;
    
        @Override
        public void onMessage(Message message)
        {
            final Monitor monall = MonitorFactory.start(WB_ONMESSAGE);
            final Monitor mon = MonitorFactory.start(WB_ONMESSAGE + "." + toString()
                    + "; mdb instance identifier=" + instanceIdentifier);
    
            try {
    // process your  message here
                }
    
            } catch (final Exception x) {
                log.error("Error onMessage " + x.getMessage(), x);
                ctx.setRollbackOnly();
            } finally {
                monall.stop();
                mon.stop();
            }
    
        }
    
        @PostConstruct
        public void init()
        {
            instanceIdentifier = counter.incrementAndGet();
            log.debug("constructed instance #" + instanceIdentifier);
        }
    }
    

    然后您可以在 Jamon-Monitor 中查看您创建的每个 MDB 实例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-01
      • 2020-09-03
      • 2011-05-29
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      相关资源
      最近更新 更多