經過JNDI查找並使用EAServer中的鏈接緩存

首先說說若是查找。java

<%@ page import="java.util.*" %> 
<%@ page import="java.sql.*" %> 
<%@ page import="javax.sql.*" %> 
<%@ page import="javax.naming.*" %> <%String jndi_name="java:comp/env/jdbc/TestDB"; //這個是配置的JNDI名稱Context ctx = new InitialContext();DataSource ds = (DataSource)ctx.lookup(jndi_name); 
Connection conn = ds.getConnection(); //後面的就和普通的JDBC操做數據庫同樣了。//在EAServer中配置JNDI的鏈接池資源,是到指定的web app下選屬性,//在資源中增長一個數據源的JNDI資源,指定一個鏈接緩存便可web

%>sql

你肯能會遇到這樣一個問題,就是每次在管理器裏配置了一個JNDI鏈接數據庫的資源,並指定了鏈接緩存的名字,可每次從新發布web app後,都會丟失鏈接緩存的配置信息,怎麼辦呢?總不能每次都手動指定吧。數據庫

確定不會,下面就告訴你應該如何作。緩存

在你的web app的目錄META-INF,若是已經存在,就繼續一下步。app

而後新建一個名字爲sybase-easerver-config.xml的文件,編輯這個文件,將以下代碼粘貼進去webapp

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sybase-easerver-config PUBLIC '-//Sybase, Inc.//DTD EAServer configuration 1.0//EN' 'http://www.sybase.com/dtds/easerver/sybase-easerver-config_1_0.dtd'>
<sybase-easerver-config description="Configuring Web Application properties">
<macro begin="${" end="}">
        <definition name="root" value="com.sybase.jaguar.webapplication"/>
        <definition name="desc" value="com.sybase.jaguar.webapplication.jaguar.description"/>
</macro>
<configure type="create" entity="WebApplication:a">
    <property name="${desc}" value="Intermetiers" />
</configure>
<configure type="update" entity="WebApplication:a">
    <property name="${root}.name" value="a" />
    <property name="${desc}" value="Intermetiers" />
    <property name="${root}.resource-ref" value="(description=,res-sharing-scope=Shareable,res-type=javax.sql.DataSource,res-ref-name=jdbc/myfirstjndi,res-link=JavaCache,res-auth=Container)" />
    <property name="${root}.context-path" value="/" />
</configure>
</sybase-easerver-config>server

其中,裏面的WebApplication:a後面的那個a就是你的web app的名字,改爲你的web app名字就能夠了。xml

最關鍵的,就是這句:ip

<property name="${root}.resource-ref" value="(description=,res-sharing-scope=Shareable,res-type=javax.sql.DataSource,res-ref-name=jdbc/myfirstjndi,res-link=JavaCache,res-auth=Container)" />

jdbc/myfirstjndi就是配置的JNDI的名字,JavaCache是你想用的鏈接緩存的名字。將這兩個參數改成你須要的,就能夠了。

相關文章
相關標籤/搜索