JBOSS4.0+Oracle8i 连接池配置

 

  费话就不说了,反正是通过Google收集了好些资料,终于把J2sdk5.0、j2eesdk-1_4、Eclipse3.0、JBOSS4.0、Oracle环境给弄好了.去年通过Tomcat+Oracle做了一个小网站,感觉太慢了,主要是程序建立数据库连接时太慢了.后来知道通过应用服务器的连接池可提高效力,认识这个对我来说,可不容易了,公司一直在用Delphi二次开发工具做项目,哪儿听说过有连接池这东东.

      今天时间不多, 主要说一下JBOSS4.0+Oracle8i 连接池配置:

JBOSS4.0和Oracle8i安装在这里不说了

      第一

      把Oracle的JDBC驱动程序(D:/oracle/ora81/jdbc/lib/classes12.zip)复制到ClassPath下。同时我们把这个JDBC驱动程序复制到Jboss的server/default/lib目录下(D:/Java/jboss-4.0.0/server/default/lib/classes12.jar)

    注意把classes12.zip改为classes12.jar

      第二

    1,如果使用的事非事务处理的数据源

把D:/Java/jboss-4.0.0/docs/examples/jca/oracle-ds.xml复制到D:/Java/jboss-4.0.0/server/default/deploy目录下,修改它:注意以下的"TYZHOUDB"是数据库ID不是本地网络服务名

 <jndi-name>OracleDS</jndi-name>
    <connection-url>jdbc:oracle:thin:@10.19.1.9:1521:TYZHOUDB</connection-url>

    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
    <user-name>TWEB</user-name>
    <password>TWEB</password>

    2,

把D:/Java/jboss-4.0.0/docs/examples/jca/oracle-xa-ds.xml复制到D:/Java/jboss-4.0.0/server/default/deploy目录下,修改它:注意以下的"IBMISDV"是本地网络服务名

 <jndi-name>OracleDS</jndi-name>
    <track-connection-by-tx/>
    <isSameRM-override-value>false</isSameRM-override-value>
    <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
    <xa-datasource-property name="URL">jdbc:oracle:oci8:@IBMISDV</xa-datasource-property>
    <xa-datasource-property name="User">TWEB</xa-datasource-property>
    <xa-datasource-property name="Password">TWEB</xa-datasource-property>

第三,修改standardjaws.xml

修改D:/Java/jboss-4.0.0/server/default/conf/standardjaws.xml 或jaws.xml配置文件,并把<datasource> 和 <type-mapping>元素这只为下面这样:

<jaws>

   <datasource>java:/OracleDS</datasource>

   <type-mapping>Oracle8</type-mapping>

</jaws>

 

第四,修改standardjbosscmp-jdbc.xml

 

修改standardjbosscmp-jdbc.xml 或 jbosscmp-jdbc.xml配置文件,设置<datasource> 和 <datasource-mapping>元素使用Oracle。

<jbosscmp-jdbc>

   <defaults>

      <datasource>java:/OracleDS</datasource>

      <datasource-mapping>Oracle8</datasource-mapping>

   </defaults>

</jbosscmp-jdbc>

 

第五,修改login-config.xml

 

修改login-config.xml文件来使用Oracle,下面是login-config.xml文件的<application-policy>元素:

<application-policy name = "OracleDbRealm">

   <authentication>

      <login-module code = 

  "org.jboss.resource.security.ConfiguredIdentityLoginModule"

                            flag = "required">

         <module-option name = "principal">sa</module-option>

         <module-option name = "userName">TWEB</module-option>

         <module-option name = "password">TWEB</module-option>

         <module-option name ="managedConnectionFactoryName"> 

                   jboss.jca:service=LocalTxCM,name=OracleDS

         </module-option>

      </login-module>

   </authentication>

</application-policy>

 

 

修改了oracle-ds.xml, standardjaws.xml, standardjbosscmp-jdbc.xml,和

login-config.xml 文件之后就可以再Jboss4中使用Oracle了

 

最后给大家一个测试源码:

 

<%@ page import="javax.naming.Context" %>
<%@ page import="javax.sql.DataSource"%>
<%@ page import="javax.naming.InitialContext"%>
<%@ page import="java.sql.*"%>
<%@ page contentType="text/html;charset=GBK"%>
<%@ page import= "java.sql.* "%>
<%@ page import= "javax.naming.* "%>

 <%
   DataSource ds = null;
   String dsBoundName = "OracleDS";
   try
        {
            Context ctx = new InitialContext();
            try
            {
                ds = (DataSource)ctx.lookup(dsBoundName);               

            }
            catch(NamingException ne1)
            {
                try
                {
                    ds = (DataSource)ctx.lookup("java:/" + dsBoundName);
                   if(ds!=null){
                       out.println("连接成功");
       <p>Connection cn=ds.getConnection();
       if(cn!=null){
       out.println("cn is Ok!");
       Statement stmt = cn.createStatement();
       ResultSet rst = stmt.executeQuery("select * from WEB_FRAME_BB");
       out.println("<p>rst is Ok!" + rst.next());
       while(rst.next()){
       out.println("<P>用户名:" + rst.getString("NAME"));
       }
       cn.close();</p>

                  }
                    }
                }
                catch(NamingException ne2)
                {
                    ds = (DataSource)ctx.lookup("java:comp/env/jdbc/" + dsBoundName);
                }               
            }          
        }
        catch(Exception e)
        {
            out.println(e);
         }
 %>
 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值