骡子 - 让全球更多的元素全球(Mule - make Global Elements more g

2019-10-18 15:53发布

在骡子我有访问一个JDBC连接器使用相同的连接字符串/用户/密码设置相同的容器上运行许多应用程序。

当然,任何的应用已被配置在它的XML配置文件相同的全局连接器,所以代码重复。

有没有一种方法,以每个集装箱只定义一次连接,并从任何应用程序访问它?

Answer 1:

我会尝试这样的:有一个应用程序创建数据源并将其存储在JNDI,并有其他应用程序把它捡起来,从JNDI。

由于没有应用程序启动顺序没有强有力的保证,它可能是一个应用程序,需要的JNDI数据源也将很快开始。 您将需要配置Spring能够在失败的情况下再次执行JNDI查找并配置骡子JDBC连接器上的螺纹重试策略。

你还需要安装的lib /用户数据源和数据库的JAR文件,因此所有的应用程序可以使用它们。



Answer 2:

刚创建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>


文章来源: Mule - make Global Elements more global