麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

使用jmx對weblogic進行動態的配置(源代碼)

2019-11-18 13:05:15
字體:
來源:轉載
供稿:網友

  對weblogic進行配置一般是通過console控制臺來進行配置的,但有的時候,需要自己在程序中需要進行動態的配置,比如增加隊列,顯示隊列,或者配置數據源;改寫寫config.xml,是可以達到動態配置的效果的,但bea不推薦這樣做,而且這樣做需要重新啟動服務器。
  怎么樣既動態的配置,又不重新啟動服務器呢?
  
  筆者查詢了weblogic的網站,了解到有兩種方法動態的配置(1)可以使用weblogic.Admin命令(文檔地址:http://e-docs.bea.com/wls/docs81/pdf/adminguide.pdf),(2)使用weblogic是用jmx編程來進行治理,通過jmx來對weblogic中的組件進行動態的配置。jmx的文檔地址:http://e-docs.bea.com/wls/docs81/pdf/jmx.pdf,假如使用這種方法,要將weblogic.jar配置到CLASSPATH環境變量中(因為weblogic的jmx類是放在weblogic.jar中的)
  
  本人寫了一份代碼,對Queue進行治理,包括JMSQueue的增加,刪除,和顯示,我的config.xml文件如下:
  <JMSServer Name="MessageCenterServer" Store="MyJmsSave"
  Targets="myserver" TemporaryTemplate="MyJMSTemplate">
  <JMSQueue CreationTime="1092359207895" JNDIName="CenterQueue"
  Name="CenterQueue" Template="MyJMSTemplate"/>
  <JMSQueue CreationTime="1092372641842" JNDIName="que00001"
  Name="que00001" Template="MyJMSTemplate"/>
  <JMSQueue CreationTime="1092372701067" JNDIName="que00002"
  Name="que00002" Template="MyJMSTemplate"/>
  <JMSQueue CreationTime="1093353883216" JNDIName="queue0003" Name="queue0003"/>
  </JMSServer>
  
  代碼如下:
  package messagecenter;
  
  /**
  * <p>Title: 消息中心</p>
  * <p>Description: 對消息隊列進行維護</p>
  * @author 張榮斌
  * @version 1.0
  */
  import java.util.*;
  import java.util.regex.Pattern;
  import javax.naming.Context;
  import weblogic.jndi.Environment;
  import weblogic.management.MBeanHome;
  import weblogic.management.runtime.ServletRuntimeMBean;
  import weblogic.management.runtime.applicationRuntimeMBean;
  import weblogic.management.runtime.WebAppComponentRuntimeMBean;
  import weblogic.management.runtime.ComponentRuntimeMBean;
  import weblogic.jms.extensions.*;
  import weblogic.management.RemoteMBeanServer;
  import javax.management.ObjectName;
  import javax.management.QueryEXP;
  
  public class JMSQueueMaintain {
  public static final String WEBLOGIC_URL = "t3://localhost:7001";
  public static final String WEBLOGIC_USER="system";
  public static final String WEBLOGIC_PASSWord = "12345678";
  public static final String WEBLOGIC_JMSSERVER = "MessageCenterServer"; //JMS服務器的名字,可以看到我的config.xml<JMSServer
  
  Name="MessageCenterServer" Store="MyJmsSave"這一行
  
  public JMSQueueMaintain() {
  }
  /**
  * 得到initial context
  */
  PRivate static Context getCtx(String url,String username, String password) throws Exception{
  Environment env = new Environment();
  env.setProviderUrl(url);
  env.setSecurityPrincipal(username);
  env.setSecurityCredentials(password);
  return env.getInitialContext();
  }
  /**
  * 得到the Admin MBean Home
  */
  private static MBeanHome getMBeanHome(String url,String username, String password) throws Exception
  {
  return (MBeanHome) getCtx(url,username,password).lookup(MBeanHome.ADMIN_JNDI_NAME);
  }
  /**
  * 增加隊列
  */
  public static void addQueue(String queuename) throws Exception{
  Context ctx = getCtx(WEBLOGIC_URL,WEBLOGIC_USER,WEBLOGIC_PASSWORD);
  JMSHelper.createPermanentQueueAsync(ctx,WEBLOGIC_JMSSERVER,queuename,queuename);
  }
  /**
  * 刪除隊列
  */
  public static void deleteQueue(String queuename) throws Exception{
  Context ctx = getCtx(WEBLOGIC_URL,WEBLOGIC_USER,WEBLOGIC_PASSWORD);
  JMSHelper.deletePermanentQueue(ctx,WEBLOGIC_JMSSERVER,queuename);
  }
  /**
  * 得到所有的隊列名
  */
  public static Vector getQueuenames() throws Exception{
  Vector vect = new Vector();
  
  MBeanHome home = getMBeanHome(WEBLOGIC_URL,WEBLOGIC_USER,WEBLOGIC_PASSWORD);
  RemoteMBeanServer homeServer = null;
  QueryExp query = null;
  homeServer = home.getMBeanServer();
  Set JMSMBeans = homeServer.queryNames(new ObjectName("mydomain:JMSServer="+WEBLOGIC_JMSSERVER+",Type=JMSQueue,*"),
  
  query);
  //where "query" could be any object that implements the JMX
  //javax.managementQueryExp
  for (Iterator itr = JMSMBeans.iterator(); itr.hasNext(); ) {
  ObjectName mbean = (ObjectName)itr.next();
  if(!mbean.getKeyProperty("Name").equals("CenterQueue")){
  vect.addElement(mbean.getKeyProperty("Name"));
  }
  }
  
  return vect;
  }
  
  public static void main(String[] args) {
  JMSQueueMaintain JMSQueueMaintain1 = new JMSQueueMaintain();
  try{
  System.out.println(JMSQueueMaintain1.getQueuenames());
  JMSQueueMaintain1.addQueue("queue0005");
  JMSQueueMaintain1.deleteQueue("queue0003");
  System.out.println(JMSQueueMaintain1.getQueuenames());
  }catch(Exception e){
  
  }
  }
  
  }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人在线精品视频 | 黄色毛片18 | 亚洲最大的成人网 | 另类亚洲孕妇分娩网址 | qyl在线视频精品免费观看 | 羞羞视频免费观看网站 | 国产成人精品区 | 日本欧美一区二区三区视频麻豆 | www亚洲免费 | 久久色伦理资源站 | 一级免费在线 | va免费视频 | 久久综合伊人 | 精品亚洲一区二区三区 | 成人不卡在线观看 | 国产精品午夜在线 | 国产99久久久久久免费看农村 | 免费放黄网站在线播放 | 牛牛碰在线 | av在线免费看网址 | 91情侣在线偷精品国产 | 草久在线观看视频 | 午夜精品老牛av一区二区三区 | 欧美wwwsss9999 | 国产自在线| 精品人成 | 国产亚洲精久久久久久蜜臀 | 91短视频在线播放 | 亚洲无线看 | 国产在线观看91一区二区三区 | 欧美日韩国产一区二区三区在线观看 | 成人午夜视频在线观看 | 成年毛片 | 黄色av网站在线观看 | 久久国产精品免费视频 | 国产毛片自拍 | 国产小视频在线 | 久久精品国产清自在天天线 | 91精品国产综合久久久动漫日韩 | 国产精品久久久久久久久久10秀 | 特级a欧美做爰片毛片 |