Spring配置文件激活所有数据源

时间:2014-08-13 08:56:27

标签: java spring

我试图使用spring配置文件为dev / prod服务器创建单独的数据源。

    <beans profile="hsqldb">
    <jdbc:embedded-database id="dataSource" type="HSQL">
        <jdbc:script location="classpath:sql/schema-hsqldb.sql"/>
        <jdbc:script location="classpath:sql/test-data.sql"/>
    </jdbc:embedded-database>
</beans>

<beans profile="oracle">
    <bean id="dataSource"
          class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
        <property name="url" value="jdbc:oracle:thin:@//192.168.1.1:1521/XXX"/>
        <property name="username" value="xxx"/>
        <property name="password" value="xxx"/>
    </bean>
</beans>

问题是我无法正确激活配置文件。我试过了两个web.xml

<context-param>
    <param-name>spring.profiles.active</param-name>
    <param-value>hsqldb</param-value>
</context-param>

-Dspring.profiles.active=hsqldb

在这两种情况下,HSQLDB都在工作,但我在日志中也有Oracle异常(比如第二数据源也是活动的):

    2014-08-13 10:39:57.216 ERROR org.hibernate.tool.hbm2ddl.SchemaUpdate - could not get database metadata
java.sql.SQLException: Wyjątek we-wy: The Network Adapter could not establish the connection
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:113) ~[ojdbc14-10.2.0.5.jar:Oracle JDBC Driver version - "10.2.0.5.0"]

如何强制弹簧仅使用一个轮廓而忽略另一个轮廓?

0 个答案:

没有答案