⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbwriterexample.java

📁 java开源的企业总线.xmlBlaster
💻 JAVA
字号:
/*------------------------------------------------------------------------------Name:      Example.javaProject:   xmlBlaster.orgCopyright: xmlBlaster.org, see xmlBlaster-LICENSE file------------------------------------------------------------------------------*/package org.xmlBlaster.contrib.dbwriter;import java.util.logging.Logger;import java.util.logging.LogManager;import java.util.prefs.Preferences;import org.xmlBlaster.contrib.I_Info;import org.xmlBlaster.contrib.dbwatcher.Info;/** * Example code to run DbWriter as a standalone application.  * <p> * You can edit this file and change the configuration settings. * </p> * <p> * Simple usage example: * </p> * <p> * <tt>java org.xmlBlaster.contrib.dbwriter.Example -db.password secret</tt> * </p> * <p> * <tt>java -Djava.util.logging.config.file=testlog.properties org.xmlBlaster.contrib.dbwriter.Example -db.password secret</tt> * </p> * <p> * <tt>java -Djdbc.drivers=com.microsoft.sqlserver.jdbc.SQLServerDriver -Ddb.url=jdbc:sqlserver://localhost:1433/database=xmlBlaster -Ddb.user=xmlblast -Ddb.password=secret org.xmlBlaster.contrib.dbwriter.DbWriterExample -protocol SOCKET -plugin/socket/hostname laghi</tt> * </p> */public class DbWriterExample {   private static Logger log = Logger.getLogger(DbWriterExample.class.getName());   /**    * Example for polling the DB    * @param prefs Configuration    * @throws Exception Can be of any type     */   private void pollingExample(Preferences prefs) throws Exception {      log.info("Start polling test");            I_Info info = new Info(prefs);      DbWriter processor = new DbWriter(info);            long sleep = info.getLong("example.sleep", 0L);      if (sleep > 0) {         log.info("Sleeping for '" + sleep / 1000 + " seconds");         Thread.sleep(sleep);      }      else {         log.info("Sleeping forever");         while (true) {            Thread.sleep(5000L);         }      }      processor.shutdown();      log.info("Done!");   }   /**    * Example code.     * <p />    * <tt>java -Djava.util.logging.config.file=testlog.properties org.xmlBlaster.contrib.dbwatcher.Example -alertScheduler.pollInterval 10000 -db.password secret</tt>    * @param args Command line    */   public static void main(String[] args) {      try {         System.setProperty("java.util.logging.config.file", "testlog.properties");         LogManager.getLogManager().readConfiguration();         Preferences prefs = loadArgs(args);                  DbWriterExample example = new DbWriterExample();         example.pollingExample(prefs);      }      catch (Throwable e) {         System.err.println("SEVERE: " + e.toString());         e.printStackTrace();      }   }      private static void setPref(String key, String defVal, Preferences prefs) {      String prop = System.getProperty(key, defVal);      if (prop != null)         prefs.put(key, prop);      else         prefs.put(key, defVal);   }      /**    * Parse command line arguments    * @param args Command line    * @return Configuration    */   public static Preferences loadArgs(String[] args) {      try {         // user: See $HOME/.java/.userPrefs         // root: See /opt/j2sdk1.4.2_06/jre/.systemPrefs/prefs.xml         Preferences prefs = Preferences.userRoot();         prefs.clear();         // ---- Database settings -----         String driverClass = System.getProperty("jdbc.drivers", "org.hsqldb.jdbcDriver:oracle.jdbc.driver.OracleDriver:com.microsoft.jdbc.sqlserver.SQLServerDriver:org.postgresql.Driver");         // String dbUrl = System.getProperty("db.url", "jdbc:oracle:thin:@localhost:1521:orcl");         String dbUrl = System.getProperty("db.url", "jdbc:postgresql:test//localhost/test");         // String dbUser = System.getProperty("db.user", "system");         String dbUser = System.getProperty("db.user", "postgres");         String dbPassword = System.getProperty("db.password", "");               prefs.put("jdbc.drivers", driverClass);         prefs.put("db.url", dbUrl);         prefs.put("db.user", dbUser);         prefs.put("db.password", dbPassword);         // ---- Mom settings -----         /*         prefs.put("mom.connectQos",                      "<qos>" +                     " <securityService type='htpasswd' version='1.0'>" +                     "   <![CDATA[" +                      "   <user>michele</user>" +                     "   <passwd>secret</passwd>" +                     "   ]]>" +                     " </securityService>" +                     " <session name='joe/3'/>'" +                     " <address type='SOCKET'>" +                     "   socket://192.168.110.10:7607" +                     " </address>" +                     " </qos>");         System.setProperty("protocol", "SOCKET");         System.setProperty("protocol/socket/hostname", "192.168.110.10");                  */         // ----- Other DbWriter settings -----         // prefs.put("mom.subscribeKey", "<key oid='' queryType='XPATH'>//key</key>");         String subscribeKey = System.getProperty("mom.subscribeKey", "<key oid='transaction'/>");         prefs.put("mom.subscribeKey", subscribeKey);                  prefs.put("mom.subscribeQos", "<qos><initialUpdate>false</initialUpdate><multiSubscribe>false</multiSubscribe><persistent>true</persistent></qos>");         prefs.put("dbWriter.writer.class", "org.xmlBlaster.contrib.replication.ReplicationWriter");                  setPref("example.sleep", "0L", prefs);         // setPref("pingInterval", "10000L", prefs);         // setPref("retries", ".-1", prefs);         // setPref("delay", ".4000", prefs);         setPref("dispatch/callback/retries", ".-1", prefs);         setPref("dispatch/callback/delay", ".10000", prefs);         setPref("queue/callback/maxEntries", "10000", prefs);                  for (int i=0; i<args.length-1; i++) {            if (args[i].startsWith("-")) {               prefs.put(args[i].substring(1), args[++i]);            }         }         prefs.flush();         // Log output:         //prefs.exportSubtree(System.out);         return prefs;      }      catch (Throwable e) {         e.printStackTrace();         log.severe("Problems: " + e.toString());      }      return null;   }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -