首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每个应用程序都有多个数据库

每个应用程序都有多个数据库
EN

Stack Overflow用户
提问于 2015-09-17 19:05:07
回答 2查看 316关注 0票数 0

有没有可能创建一个有多个数据库的spring mvc应用?我正在为学校创建一个学校管理web应用程序。为了简化数据库管理,我想为每个学校映射一个数据库,但web应用程序保持不变,唯一的变化是数据库的配置。我使用jobss作为我的服务器的服务器,并在我的web应用程序中配置JNDI数据源。所有的应用程序都托管在同一个实时服务器上。有可能做到这一点吗?最好的方法是什么?

spring数据源配置:

代码语言:javascript
复制
<!-- JNDI setup -->
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName">
        <value>java:jboss/datasources/ResponseDS</value>
    </property>
</bean>

jboss standalone.xml配置:

代码语言:javascript
复制
<datasource jndi-name="java:jboss/datasources/ResponseDS" pool-name="ResponseDSPool">
    <connection-url>jdbc:mysql://localhost:3306/response</connection-url>
    <driver>com.mysql</driver>
    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
    <pool>
        <min-pool-size>10</min-pool-size>
        <max-pool-size>100</max-pool-size>
        <prefill>true</prefill>
    </pool>
    <security>
        <user-name>root</user-name>
        <password>password</password>
    </security>
    <statement>
        <prepared-statement-cache-size>32</prepared-statement-cache-size>
        <share-prepared-statements>true</share-prepared-statements>
    </statement>
</datasource>       
EN

回答 2

Stack Overflow用户

发布于 2015-09-17 22:13:26

我不认为配置multiple datasources in spring和jboss有任何问题。但是在你的代码中维护它可能会变得很麻烦,所以我宁愿非常清楚地将DAO层分离到单独的包或模块中,这些包或模块可以单独重用和测试,并且两个模块都不应该知道彼此与数据库相关的代码。这样,就可以清楚地知道哪个模块正在处理哪个数据库及其事务,以便在出现任何问题时可以轻松地进行调试。

票数 0
EN

Stack Overflow用户

发布于 2015-09-18 12:11:41

如果我正确理解了这个问题,应用程序代码,模块,其他一切都将保持不变,但数据将来自不同的数据库。

您可以配置多个数据源,但是您需要在应用程序中有一个逻辑,以便在运行时选择数据源,这取决于一些标准,例如,登录用户所属的学校。

然而,每次添加新的学校时,您都需要创建新的数据源并更改应用程序中的逻辑,这并不是好的做法,代码很快就会失控。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32628817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档