• jetty使用jndi数据源


      之前将项目正常的数据源统一切换成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>

  • 相关阅读:
    mTracker ----- MPDP
    读取UIM卡中的短信
    Your version is: java version "1.6.0_24". The correct version is: Java SE 1.6.
    [Java2 入门经典]第14章 集合框架
    [Java2 入门经典]第13章 泛型类
    [Java2 入门经典]第6章 类的扩展与继承
    彩信下载
    指标权重确定方法之熵权法
    用户价值分析
    数据归一化处理
  • 原文地址:https://www.cnblogs.com/surprizeFuture/p/5358485.html
Copyright © 2020-2023  润新知