Как изменить Spring для использования источника данных из Tomcat и BasicDataSource? - PullRequest
1 голос
/ 23 марта 2012

Как изменить Spring для использования источника данных из Tomcat и BasicDataSource? ниже приведена копия компонента, который я создаю в своем XML. Может кто-нибудь сказать мне, как получить доступ к источнику данных Tomcat

<beans:bean id="dataSource"
        class="org.apache.commons.dbcp.BasicDataSource" >

        <beans:property
            name="driverClassName"
            value="${database.driver}" />

        <beans:property
            name="url"
            value="${database.url}" />

        <beans:property
            name="username"
            value="${database.user}" />

        <beans:property
            name="password"
            value="${database.password}" />

        <beans:property
            name="initialSize"
            value="5" />

        <beans:property
            name="maxActive"
            value="10" />
    </beans:bean>

1 Ответ

2 голосов
/ 23 марта 2012

Весной вы должны изменить конфигурацию, которая принимает конфигурацию от tomcat через JNDI

<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:jee="http://www.springframework.org/schema/jee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                      http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd">

<jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/myNewDatasource" />

</beans>

Затем вы должны настроить соединение в tomact и сделать его доступным через jndi.Например, вы можете поместить это в tomcat context.xml (и, конечно, вам нужно поместить драйвер в каталог lib tomcat)

<Resource name="jdbc/myNewDatasource"
            type="javax.sql.DataSource"
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://SERVER:3306/DB?useUnicode=true&amp;characterEncoding=utf8"

     auth="Container" username="USERNAME" password="PASSWORD"
     maxIdle="3" maxActive="15" maxWait="10000"
     logAbandoned="true" removeAbandoned="true" removeAbandonedTimeout="60"
     validationQuery="select 1" />
...