gpt4 book ai didi

java - 使用 Hibernate 和 C3P0 的分布式 Web 模块的连接池

转载 作者:行者123 更新时间:2023-11-29 09:19:28 25 4
gpt4 key购买 nike

我有一个与数据库通信的网络服务(模型层)。该模块负责保存和检索数据以及管理事务。也有很多BL定义了她。其他独立的 Web 模块使用此服务来保存和检索它们所需的数据。

现在 model-layer 正在成为瓶颈。我需要更改架构。

我想将 Hibernate Entity 类和 BL 移动到它们受尊重的 web 模块中。所以每个 web 模块将与同一个数据库通信。但是我不想在每个模块上都维护一个分布式连接池和事务。

我知道应该有一种方法可以为所有分布式 Web 模块使用单一连接池。但是我需要一个专业的意见,我应该怎么做。

我不想使用Spring框架,该框架已被组织拒绝解决。

现在我正在尝试通过在 LDAP 上保存连接的序列化对象来找到解决方案,所有模块都将使用该连接池。现在,我正在摸不着头脑,想知道我是否在朝着正确的方向前进。

请指导我正确的路径。如果 Spring 是唯一的选择,那么也请告诉我。我会努力说服我的公司。

最佳答案

我想我已经找到了答案。

我使用了一个共享数据源 (*-ds.xml)在单个 JBoss 服务器上。

数据源文件如下

<datasources>
<local-tx-datasource>
<jndi-name>jdbc/wc-mysql</jndi-name>
<connection-url>jdbc:mysql://MyPC-IP:3306/DB</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>xUser</user-name>
<password>xXxXx</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>

<use-java-context>false</use-java-context>

<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</local-tx-datasource>
</datasources>

此 DS 可用于在不同位置运行的所有 JBoss 服务器。

有一件事要确保<use-java-context>false</use-java-context>将使 DS 公开可用,因此您需要自己进行安全握手。

关于java - 使用 Hibernate 和 C3P0 的分布式 Web 模块的连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7346224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com