spring使用jetty+jndi配置druid数据源

该博客介绍了如何在Maven项目中配置Druid数据源,并结合Jetty插件进行集成。首先,通过添加Druid的依赖到pom.xml文件来引入数据源。接着,配置Jetty插件,设置监听端口和上下文路径。然后,定义jetty-context.xml和jetty-env.xml文件以设置数据库连接参数。最后,在Spring的applicationContext.xml中声明JNDI数据源并创建TransactionAwareDataSourceProxy代理。

maven项目pom.xml配置

1、配置druid的jar依赖:
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>${druid.version}</version>
        </dependency>
2、配置jetty插件:
            <plugin>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>${jetty.version}</version>
                <configuration>
                    <contextXml>${project.basedir}/src/test/resources/jetty-context.xml</contextXml>
                    <scanIntervalSeconds>10</scanIntervalSeconds>
                    <webAppConfig>
                        <!--<contextPath>/example</contextPath>-->
                        <jettyEnvXml>${basedir}/src/test/resources/jetty-env.xml</jettyEnvXml>
                    </webAppConfig>
                    <httpConnector>
                        <port>8888</port>
                    </httpConnector>
                </configuration>
            </plugin>

jetty-context.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
      
</Configure>

jetty-env.xml配置

 <New id="exampleDataSource" class="org.eclipse.jetty.plus.jndi.Resource">
    	<Arg></Arg>
        <Arg>jdbc/EXAMPLE_DS</Arg>
        <Arg>
            <New class="com.alibaba.druid.pool.DruidDataSource">
                <Set name="driverClassName">com.mysql.jdbc.Driver</Set>
                <Set name="url">jdbc:mysql://localhost:3306/dev_demo</Set>
                <Set name="username">root</Set>
                <Set name="password">root</Set>
                <Set name="initialSize">1</Set>
                <Set name="maxActive">1</Set>
                <Set name="maxWait">60000</Set>
                <Set name="minEvictableIdleTimeMillis">300000</Set>
            </New>
        </Arg>
	     <Call name="bindToENC">
	        <Arg>jdbc/EXAMPLE_DS</Arg>  <!-- binds jdbc/myds to java:comp/env/jdbc/myfoo for this webapp -->
	    </Call>          
    </New>

spring的applicationContext.xml配置

   <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName">
            <!--EXAMPLE_DSwei为数据源名称-->
            <value>java:comp/env/jdbc/EXAMPLE_DS</value>
        </property>
    </bean>

    <bean id="dataSourceProxy" class="org.springframework.jdbc.datasource.TransactionAwareDataSourceProxy">
        <property name="targetDataSource" ref="dataSource" />
    </bean>

 

项目结构:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值