在骡子我有访问一个JDBC连接器使用相同的连接字符串/用户/密码设置相同的容器上运行许多应用程序。
当然,任何的应用已被配置在它的XML配置文件相同的全局连接器,所以代码重复。
有没有一种方法,以每个集装箱只定义一次连接,并从任何应用程序访问它?
在骡子我有访问一个JDBC连接器使用相同的连接字符串/用户/密码设置相同的容器上运行许多应用程序。
当然,任何的应用已被配置在它的XML配置文件相同的全局连接器,所以代码重复。
有没有一种方法,以每个集装箱只定义一次连接,并从任何应用程序访问它?
我会尝试这样的:有一个应用程序创建数据源并将其存储在JNDI,并有其他应用程序把它捡起来,从JNDI。
由于没有应用程序启动顺序没有强有力的保证,它可能是一个应用程序,需要的JNDI数据源也将很快开始。 您将需要配置Spring能够在失败的情况下再次执行JNDI查找并配置骡子JDBC连接器上的螺纹重试策略。
你还需要安装的lib /用户数据源和数据库的JAR文件,因此所有的应用程序可以使用它们。
刚创建XML格式的JDBC连接一些地方在你的系统中的弹簧bean并把所有的应用程序加载在你的应用程序:
<spring:import resource="JDBC-beans.xml" />
和XML:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
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 ">
<!-- Initialization for data source -->
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/TEST"/>
<property name="username" value="root"/>
<property name="password" value="password"/>
</bean>
</beans>