Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用带C3P0的Hibernate的分布式Web模块的连接池_Java_Hibernate_Distributed_Connection Pooling - Fatal编程技术网

Java 使用带C3P0的Hibernate的分布式Web模块的连接池

Java 使用带C3P0的Hibernate的分布式Web模块的连接池,java,hibernate,distributed,connection-pooling,Java,Hibernate,Distributed,Connection Pooling,我有一个与数据库通信的Web服务(模型层)。此模块负责保存和检索数据以及管理事务。也有很多BL是她定义的。其他独立的web模块使用此服务来保存和检索它们所需的数据 目前,模型层正成为瓶颈。我需要改变架构 我想将Hibernate实体类和BL移动到它们所尊重的web模块中。因此,每个web模块将与同一个数据库通信。但我不希望在每个模块上维护分布式连接池和事务 我知道应该有一种方法可以为所有分布式web模块使用单个连接池。但是我需要一个专业的意见,我应该怎么做 我不想使用Spring框架,该解决方案

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

目前,
模型层
正成为瓶颈。我需要改变架构

我想将Hibernate实体类和BL移动到它们所尊重的web模块中。因此,每个web模块将与同一个数据库通信。但我不希望在每个模块上维护分布式连接池和事务

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

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

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


请引导我到正确的路径。如果春天是唯一的选择,那么请告诉我,以及。我会尽力说服我的公司。

我想我已经找到了答案

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

数据源文件如下所示

<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>

jdbc/wc-mysql
jdbc:mysql://MyPC-IP:3306/DB
com.mysql.jdbc.Driver
许塞尔
xXxXx
org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter
错误的
mySQL
此DS可用于运行在不同位置的所有JBoss服务器


有一件事要确保
false
将使DS公开,因此您需要自己进行安全握手。

我想我已经找到了答案

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

数据源文件如下所示

<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>

jdbc/wc-mysql
jdbc:mysql://MyPC-IP:3306/DB
com.mysql.jdbc.Driver
许塞尔
xXxXx
org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter
错误的
mySQL
此DS可用于运行在不同位置的所有JBoss服务器

有一件事要确保
false
将使DS公开可用,因此您需要自己进行安全握手