Tomcat5下的數據庫配置

1、在Context.xml中配置

<!--<WatchedResource>WEB-INF/web.xml</WatchedResource>-->

 這一行要註釋掉,不然訪問Web.xml去了。在web.xml配置也可以,但節點的名稱和tomcat池的不一樣

 

<Resource type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver" maxIdle="30" maxWait="5000" username="im" password="devsmsim" url="jdbc:oracle:thin:@210.51.26.184:1521:friend" maxActive="20" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" />

 

在server.xml不寫配置了,雖然同樣可在這裏配置,但有時會出問題

 

 

 

public class DBUtils
{
    private static Context ctx;

    private static final Object LOCK = new Object();

    private static DataSource lavaSource = null;


    static
    {
        try
        {
            ctx = (Context)new InitialContext().lookup("java:comp/env");
        }
        catch (javax.naming.NamingException e)
        {
            System.out.println(e.getMessage());
        }
    }

    /**
     * 取得 lava service 數據源
     *
     * @return DataSource
     */
    public static DataSource getIMSource()
    {
        if (lavaSource == null)
        {
            try
            {
                synchronized (LOCK)
                { 

                    lavaSource = (DataSource) ctx.lookup("jdbc/friend");//數據庫的服務名
                    //lavaSource = (DataSource) ctx.lookup("jdbc/"+ Globe.getProperty("database/ImSource"));

                }
            }
            catch (Exception e)
            {

                e.printStackTrace();
                System.out.println(e.getMessage());
            }
        }
        return lavaSource;
    }

    /**
     * 數據連接關閉工具
     *
     * @param con
     * @param stm
     * @param res
     */
    public static void closeConnection(Connection con, Statement stmt,
                                       ResultSet rs)
    {

        try
        {
            if (rs != null)
            {
                rs.close();
            }
        }
        catch (Exception e)
        {
        }

        try
        {
            if (stmt != null)
            {
                stmt.close();
            }
        }
        catch (Exception e)
        {
        }

        try
        {
            if (con != null)
            {
                con.close();
            }
        }
        catch (Exception e)
        {
        }
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章