程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> jetty使用jndi數據源,jettyjndi

jetty使用jndi數據源,jettyjndi

編輯:JAVA綜合教程

jetty使用jndi數據源,jettyjndi


  之前將項目正常的數據源統一切換成jndi訪問的形式(是將c3p0以mbean形式安裝到jboss做的數據連接池),

  本地測試用的jetty服務器,為了統一數據庫訪問部分,我也查看文檔找到了jetty提供jndi數據源的配置方式,簡單如下:

 

1. 在項目路徑下新建jetty.xml, jetty默認的配置文件,在server添加如下內容

<Configure id="Server" class="org.eclipse.jetty.server.Server">
     <New id="scmsDs" class="org.eclipse.jetty.plus.jndi.Resource">
         <Arg></Arg>

         <!--jndiname-->
        <Arg>java:scmsDS</Arg>
        <Arg>
            <New class="com.mchange.v2.c3p0.ComboPooledDataSource">
                 <Set name="driverClass">${jdbc.driverClassName}</Set>
                 <Set name="jdbcUrl">${jdbc.url}</Set>
                 <Set name="user">${jdbc.username}</Set>
                 <Set name="password">${jdbc.password}</Set>
           </New>

       </Arg>

     <!-- New  ...  another jndi datasource pool -->

</Configure>

如上,最簡單的配置,只需定義一個jndiname,和一個c3p0連接池,jetty同樣支持配置多個連接池。

2.配置jetty啟動時加載jetty.xml

我們項目是用maven插件的形式啟動jetty的,其他形式應該也是大同小異吧。

注意datasouce需要對c3p0和jdbc驅動依賴,如果項目本身沒有這些依賴,在jetty中要

特別聲明。如下

<plugin>
     <groupId>org.mortbay.jetty</groupId>
     <artifactId>jetty-maven-plugin</artifactId>
     <version>8.1.2.v20120308</version>
     <dependencies>
         <dependency>
             <groupId>c3p0</groupId>
             <artifactId>c3p0</artifactId>
             <version>0.9.1.2</version>
         </dependency>
         <dependency>
             <groupId>com.oracle.jdbc</groupId>
             <artifactId>ojdbc5</artifactId>
             <version>11.2.0.3</version>
         </dependency>
      </dependencies>
      <configuration>
           <jettyXml>${project.build.outputDirectory}/jetty.xml</jettyXml>
           <!-- other configuration -->
      </configuration>
</plugin>

3. 在項目中使用該數據源

和所有jndi服務一樣,如果有用框架的話,比如spring框架下,讓spring幫你完成lookup:

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="java:scmsDS" />
</bean>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved