gpt4 book ai didi

java - 检查 EntityManagerFactory

转载 作者:行者123 更新时间:2023-11-30 07:26:55 24 4
gpt4 key购买 nike

我使用 eclipselink 作为 JPA 的实现,我想知道是否可以检查我的 EntityManagerFactory 是否“活着”

例如,如果连接参数无效,当我创建 EMF 时我不会有任何异常,直到我开始交易

谢谢

最佳答案

使用 entityManagerFactory,您只能获取 EntityManager 并向数据库发送检查查询,但在这种情况下,我认为最好的解决方案是使用 validator 配置连接池。

通过这种方式,每个创建的连接或从池中检索的连接都通过 JDBC API 或简单查询进行验证。例如,在 JBoss 里面的数据源配置中你可以添加如下几行:

<!-- sql to call when connection is created    -->
<new-connection-sql>some arbitrary sql</new-connection-sql>

<!-- sql to call on an existing pooled connection when it is obtained from pool -->
<check-valid-connection-sql>some arbitrary sql</check-valid-connection-sql>

或(对于 Postgres,但每个 DBMS 都有示例)

<validation>
<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker"></valid-connection-checker>
<exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter"></exception-sorter>
</validation>

关于java - 检查 EntityManagerFactory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10101890/

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