2008年8月1日

           來源:賽迪網(wǎng)    作者:korn

          在linux上以服務(wù)的方式啟動java程序

          1.安裝jsvc

          在tomcat的bin目錄下有一個jsvc.tar.gz的文件,進(jìn)入tomcat的bin目錄下

          #tar xvfz jsvc.tar.gz

          #cd jsvc-src

          #sh support/buildconf.sh

          #chmod 755 configure

          #./configure --with-java=/usr/local/java (改成你的JDK的位置)

          #make

          2.編寫服務(wù)啟動類

          package com.sohu.jsvc.test;
                                  public class TestJsvc {
                                  public static void main(String args[]) {
                                  System.out.println("execute main method!");
                                  }
                                  public void init() throws Exception {
                                  System.out.println("execute init method!");
                                  }
                                  public void init(String[] args) throws Exception{
                                  System.out.println("execute init(args) method");
                                  }
                                  public void start() throws Exception {
                                  System.out.println("execute start method!");
                                  }
                                  public void stop() throws Exception {
                                  System.out.println("execute stop method!");
                                  }
                                  public void destroy() throws Exception{
                                  System.out.println("execute destroy method!");
                                  }
                                  }

          main方法可以去掉,但是init(String[] args),start(),stop(),destroy()方法不能少,服務(wù)在啟動時會先調(diào)用init(String[] args)方法

          然后調(diào)用start()方法,在服務(wù)停止是會首先調(diào)用stop()方法,然后調(diào)用destroy() 方法.

          3.把這個類打包成testjsvc.jar 放到/test目錄下

          4.編寫啟動服務(wù)的腳本 myjsvc

          #!/bin/sh
                                  # myjsvc This shell script takes care of starting and stopping
                                  #
                                  # chkconfig: - 60 50
                                  # description: tlstat stat is a stat data daemon.
                                  # processname: myjsvc
                                  # Source function library.
                                  . /etc/rc.d/init.d/functions
                                  RETVAL=0
                                  prog="MYJSVC"
                                  # jdk的安裝目錄
                                  JAVA_HOME=/usr/java/jdk1.5.0_15
                                  #應(yīng)用程序的目錄
                                  MYJSVC_HOME=/test
                                  #jsvc所在的目錄
                                  DAEMON_HOME=/usr/local/tomcat5/bin/jsvc-src
                                  #用戶
                                  MYJSVC_USER=root
                                  # for multi instances adapt those lines.
                                  TMP_DIR=/var/tmp
                                  PID_FILE=/var/run/tlstat.pid
                                  #程序運(yùn)行是所需的jar包,commons-daemon.jar是不能少的
                                  CLASSPATH=\
                                  /test/testjsvc.jar:\
                                  /usr/local/tomcat5/bin/commons-daemon.jar:\
                                  case "$1" in
                                  start)
                                  #
                                  # Start TlStat Data Serivce
                                  #
                                  $DAEMON_HOME/jsvc \
                                  -user $MYJSVC_USER \
                                  -home $JAVA_HOME \
                                  -Djava.io.tmpdir=$TMP_DIR \
                                  -wait 10 \
                                  -pidfile $PID_FILE \
                                  #控制臺的輸出會寫到tlstat.out文件里
                                  -outfile $MYJSVC_HOME/log/myjsvc.out \
                                  -errfile '&1' \
                                  -cp $CLASSPATH \
                                  #服務(wù)啟動類
                                  com.sohu.jsvc.test.TestJsvc
                                  #
                                  # To get a verbose JVM
                                  #-verbose \
                                  # To get a debug of jsvc.
                                  #-debug \
                                  exit $?
                                  ;;
                                  stop)
                                  #
                                  # Stop TlStat Data Serivce
                                  #
                                  $DAEMON_HOME/jsvc \
                                  -stop \
                                  -pidfile $PID_FILE \
                                  com.sohu.jsvc.test.TestJsvc
                                  exit $?
                                  ;;
                                  *)
                                  echo "Usage myjsvc start/stop"
                                  exit 1;;
                                  esac

          5. 把myjsvc文件拷貝到/etc/init.d/目錄下

          6. #chmod -c 777 /etc/init.d/myjsvc

          7. 添加服務(wù)

          #chkconfig --add myjsvc

          #chkconfig --level 345 myjsvc on

          8. 完成,啟動服務(wù)

          #service myjsvc start

          你可以從/test/log/myjsvc.out文件里看到如下信息:

          execute init(args) method

          execute start method

          #service myjsvc stop

          你會發(fā)現(xiàn)/test/log/myjsvc.out文件里會增加如下信息

          execute stop method

          execute destroy method

          并且在系統(tǒng)重啟時會自動啟動myjsvc服務(wù)

          好了,一個簡單的 liunx服務(wù)就寫好了,你可以在TestJsvc的init(),start(),stop(),destroy()方法里添加你的業(yè)務(wù),做你想做的事。

          posted @ 2008-08-01 13:04 zhangy 閱讀(154) | 評論 (0)編輯 收藏
          來源:賽迪網(wǎng)    作者:一角天空

          1、Oracle8/8i/9i數(shù)據(jù)庫(thin模式)

          Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();

          String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl為數(shù)據(jù)庫的SID

          String user="test";

          String password="test";

          Connection conn= DriverManager.getConnection(url,user,password);

          2、DB2數(shù)據(jù)庫

          Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();

          String url="jdbc:db2://localhost:5000/sample"; //sample為你的數(shù)據(jù)庫名

          String user="admin";

          String password="";

          Connection conn= DriverManager.getConnection(url,user,password);

          3、SQL Server7.0/2000數(shù)據(jù)庫

          Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

          String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";

          //mydb為數(shù)據(jù)庫

          String user="sa";

          String password="";

          Connection conn= DriverManager.getConnection(url,user,password);

          4、Sybase數(shù)據(jù)庫

          Class.forName("com.sybase.jdbc.SybDriver").newInstance();

          String url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDB為你的數(shù)據(jù)庫名

          Properties sysProps = System.getProperties();

          SysProps.put("user","userid");

          SysProps.put("password","user_password");

          Connection conn= DriverManager.getConnection(url, SysProps);

          5、Informix數(shù)據(jù)庫

          Class.forName("com.informix.jdbc.IfxDriver").newInstance();

          String url = "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;

          user=testuser;password=testpassword"; //myDB為數(shù)據(jù)庫名

          Connection conn= DriverManager.getConnection(url);

          6、MySQL數(shù)據(jù)庫

          Class.forName("org.gjt.mm.mysql.Driver").newInstance();

          //或者Class.forName("com.mysql.jdbc.Driver");

          String url ="jdbc:mysql://localhost/myDB?

          user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"

          //myDB為數(shù)據(jù)庫名

          Connection conn= DriverManager.getConnection(url);

          7、PostgreSQL數(shù)據(jù)庫

          Class.forName("org.postgresql.Driver").newInstance();

          String url ="jdbc:postgresql://localhost/myDB" //myDB為數(shù)據(jù)庫名

          String user="myuser";

          String password="mypassword";

          Connection conn= DriverManager.getConnection(url,user,password);

          8、access數(shù)據(jù)庫直連用ODBC的

          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;

          String url="jdbc:odbc:Driver={MicroSoft Access Driver

          (*.mdb)};DBQ="+application.getRealPath("/Data/ReportDemo.mdb");

          Connection conn = DriverManager.getConnection(url,"","");

          Statement stmtNew=conn.createStatement() ;

          posted @ 2008-08-01 11:58 zhangy 閱讀(103) | 評論 (0)編輯 收藏
          僅列出標(biāo)題  

          導(dǎo)航

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          統(tǒng)計

          常用鏈接

          留言簿(1)

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 平昌县| 南平市| 许昌县| 关岭| 青河县| 新田县| 河曲县| 辰溪县| 嘉义市| 栖霞市| 招远市| 达尔| 新闻| 永康市| 弋阳县| 长沙市| 汉阴县| 永宁县| 天水市| 镇坪县| 遵义市| 定陶县| 勃利县| 巴马| 江津市| 南平市| 岚皋县| 宝山区| 师宗县| 孟津县| 台东市| 古田县| 宜宾市| 启东市| 巫山县| 镇原县| 铁岭市| 漳州市| 平乐县| 同仁县| 二连浩特市|