MyOSS WebLogic JMSのキュー監視方法

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

WebLogic JMSのキュー監視方法

WebLogicではキューの中に現在いくつのメッセージがあるかなどの情報をGUI管理コンソールで確認することができますが、これらの情報へアクセスするためのAPIも公開されています。

プログラムから確認することができるようになれば、テストや運用も楽になります。

GUI管理コンソールで設定した各項目の設定値を使用してください。
   private String queueFactoryJNDIName = "JmsXA";
   private String queueJNDIName = "queue/A";
   private String domainName = "mydomain";
   private String serverName = "myserver";
   private String jmsServerName = "MyJMS Server";
   private String queueName = "MyJMS Queue";
WebLogic用に用意されたJMX用のAPIを以下のように使用します。
   private long checkQueue() throws Exception {
       ObjectName monitorObjectName = new ObjectName(
               domainName + ":JMSServerRuntime=" + jmsServerName
                   + ",Location=" + serverName + ",Name=" + queueName
                   + ",ServerRuntime=" + serverName + ",Type=JMSDestinationRuntime");
       MBeanHome home = (MBeanHome)ctx.lookup(MBeanHome.ADMIN_JNDI_NAME);
       WebLogicMBean hoge = home.getMBean(monitorObjectName);
       JMSDestinationRuntimeMBean mbean = (JMSDestinationRuntimeMBean) hoge;
       return mbean.getMessagesCurrentCount();
   }
変数ctxはInitialContextオブジェクトです。InitialContextの取得方法はWebLogicのJNDI利用例を参考にして下さい。
添付ファイル