Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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/JDBC应用程序的PgPool负载平衡_Java_Hibernate_Centos_Pgpool - Fatal编程技术网

用于Java/JDBC应用程序的PgPool负载平衡

用于Java/JDBC应用程序的PgPool负载平衡,java,hibernate,centos,pgpool,Java,Hibernate,Centos,Pgpool,在CentOS上设置了PgPool的所有可能设置后,当我使用Java应用程序测试它时,我发现它不起作用。 在阅读了internet上的手册(您可以找到)后,我发现如果JDBC语句被设置为false(用于自动提交),则该手册将不适用于JDBC语句。 由于我使用的是Hibernate,我确信它正在使用事务设置值。 我的问题是,如果这是真的,哪种方法对复制我的数据库有用。我听说过并行模式,但我不确定它是否适用于Java应用程序。有人能为我提供一些示例吗?业务方法结束时的修改事务工作原理如您所述:创建一

在CentOS上设置了PgPool的所有可能设置后,当我使用Java应用程序测试它时,我发现它不起作用。
在阅读了internet上的手册(您可以找到)后,我发现如果JDBC语句被设置为false(用于自动提交),则该手册将不适用于JDBC语句。
由于我使用的是Hibernate,我确信它正在使用事务设置值。

我的问题是,如果这是真的,哪种方法对复制我的数据库有用。我听说过并行模式,但我不确定它是否适用于Java应用程序。有人能为我提供一些示例吗?

业务方法结束时的修改事务工作原理如您所述:创建一个开始/结束块,其中包含所有提交或回滚的修改查询

这是通过将autocommit设置为false来实现的,但这并不意味着Hibernate进行的所有查询都是在这种模式下完成的。根据所需的隔离模式,可以在自动提交或非自动提交模式下执行相同的查询

对于
READ\u committed
模式下的事务的常见情况,像按Id查找或命名查询这样的查询将在它自己的数据库事务中运行,并且自动提交为true(因此没有开始/结束块)

按ID查找和其他读取查询只有在至少以
REPEATABLE\u read
隔离模式运行时才会触发BEGIN块

这意味着,如果使用默认的
REPEATABLE\u READ
隔离模式,负载平衡将正常工作,因为大多数select查询将在auto commit=true时运行


您可以通过记录发送到数据库的所有SQL查询来确认这一点,例如使用。这将打印实际发送到数据库的所有SQL。

业务方法结束时的修改事务按照您的描述工作:创建一个开始/结束块,其中包含所有提交或回滚的修改查询

这是通过将autocommit设置为false来实现的,但这并不意味着Hibernate进行的所有查询都是在这种模式下完成的。根据所需的隔离模式,可以在自动提交或非自动提交模式下执行相同的查询

对于
READ\u committed
模式下的事务的常见情况,像按Id查找或命名查询这样的查询将在它自己的数据库事务中运行,并且自动提交为true(因此没有开始/结束块)

按ID查找和其他读取查询只有在至少以
REPEATABLE\u read
隔离模式运行时才会触发BEGIN块

这意味着,如果使用默认的
REPEATABLE\u READ
隔离模式,负载平衡将正常工作,因为大多数select查询将在auto commit=true时运行


您可以通过记录发送到数据库的所有SQL查询来确认这一点,例如使用。这将打印实际发送到数据库的所有SQL。

业务方法结束时的修改事务按照您的描述工作:创建一个开始/结束块,其中包含所有提交或回滚的修改查询

这是通过将autocommit设置为false来实现的,但这并不意味着Hibernate进行的所有查询都是在这种模式下完成的。根据所需的隔离模式,可以在自动提交或非自动提交模式下执行相同的查询

对于
READ\u committed
模式下的事务的常见情况,像按Id查找或命名查询这样的查询将在它自己的数据库事务中运行,并且自动提交为true(因此没有开始/结束块)

按ID查找和其他读取查询只有在至少以
REPEATABLE\u read
隔离模式运行时才会触发BEGIN块

这意味着,如果使用默认的
REPEATABLE\u READ
隔离模式,负载平衡将正常工作,因为大多数select查询将在auto commit=true时运行


您可以通过记录发送到数据库的所有SQL查询来确认这一点,例如使用。这将打印实际发送到数据库的所有SQL。

业务方法结束时的修改事务按照您的描述工作:创建一个开始/结束块,其中包含所有提交或回滚的修改查询

这是通过将autocommit设置为false来实现的,但这并不意味着Hibernate进行的所有查询都是在这种模式下完成的。根据所需的隔离模式,可以在自动提交或非自动提交模式下执行相同的查询

对于
READ\u committed
模式下的事务的常见情况,像按Id查找或命名查询这样的查询将在它自己的数据库事务中运行,并且自动提交为true(因此没有开始/结束块)

按ID查找和其他读取查询只有在至少以
REPEATABLE\u read
隔离模式运行时才会触发BEGIN块

这意味着,如果使用默认的
REPEATABLE\u READ
隔离模式,负载平衡将正常工作,因为大多数select查询将在auto commit=true时运行


您可以通过记录发送到数据库的所有SQL查询来确认这一点,例如使用。这将打印实际发送到数据库的所有SQL。

如果您在并行模式下所指的是事务隔离级别,则在此页面中可以看到,并且可以通过在hibernate中设置以下属性来配置它:
hibernate.connection.isolation
为1、2、4或8,从较低级别到最高级别

Read committed是PostgreSQL中的默认隔离级别,比脏读高一级

序列化是最高级别的,而且非常昂贵,因为如果在同一个表上进行两个事务,则会出现锁定,如果锁定发生的时间超过数据库/Hibernate上设置的超时时间,则会抛出超时异常

不知道你是否听说过
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.format_sql">false</prop>
<prop key="hibernate.connection.isolation">4</prop>
<prop key="hibernate.connection.autocommit">false</prop>
<prop key="hibernate.c3p0.min_size">5</prop>
<prop key="hibernate.c3p0.max_size">20</prop>
<prop key="hibernate.c3p0.timeout">1800</prop>
<prop key="hibernate.c3p0.max_statements">50</prop>
<prop key="hibernate.cache.provider_class"> org.hibernate.cache.EhCacheProvider</prop>
<prop key="net.sf.ehcache.configurationResourceName">WEB-INF/ehcache.xml</prop>