gpt4 book ai didi

java - JBoss AS 7 数据源配置 - 事务未激活

转载 作者:行者123 更新时间:2023-12-02 08:02:46 24 4
gpt4 key购买 nike

我的 JBOSS AS 7 上的standalone.xml 中有此数据源配置:

<subsystem xmlns="urn:jboss:domain:datasources:1.0">
<datasources>
<datasource jndi-name="java:jboss/MyJndiDS" pool-name="MyPoolDS" enabled="true" jta="true" use-java-context="false" use-ccm="true">
<connection-url>
jdbc:postgresql://192.168.2.125:5432/t_report
</connection-url>
<driver>
org.postgresql
</driver>
<transaction-isolation>
TRANSACTION_READ_COMMITTED
</transaction-isolation>
<pool>
<min-pool-size>
3
</min-pool-size>
<max-pool-size>
7
</max-pool-size>
<prefill>
true
</prefill>
<use-strict-min>
false
</use-strict-min>
<flush-strategy>
FailingConnectionOnly
</flush-strategy>
</pool>
<security>
<user-name>
my_user
</user-name>
<password>
my_pass
</password>
</security>
<statement>
<prepared-statement-cache-size>
32
</prepared-statement-cache-size>
</statement>
</datasource>
...
...
</datasources>
</subsystem>

当我使用同一个用户登录和注销 7 次时,下次尝试登录时,我收到 Transaction not active 错误。我怎样才能解决这个问题?我不想增加max-pool-size。这是我的注销方法:

import javax.faces.context.ExternalContext;
@Inject ExternalContext ec;

public void validateUserLogOut() {

HttpServletRequest request = (HttpServletRequest)ec.getRequest();
request.getSession().invalidate();
this.setUserLoggedIn(false);
navigation.logout();

}

最佳答案

我认为您的问题不是数据源(这只暴露了它),而是登录模块似乎保持连接打开并且没有将它们返回到池中这一事实。

关于java - JBoss AS 7 数据源配置 - 事务未激活,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8656931/

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