gpt4 book ai didi

java - 在野蝇关闭时使用数据源

转载 作者:太空宇宙 更新时间:2023-11-04 11:33:25 25 4
gpt4 key购买 nike

当 Wildfly 服务器关闭时,我尝试对数据库执行一些更新。

不幸的是,我用来更新数据库的数据源似乎在应用程序取消部署之前被关闭......

相关代码如下:

@PreDestroy
public void shutdown()
{
logger.debug("|||||||||||||||||||||||||||||||| Closing GatewayDAO");
System.out.println("Closing GatewayDAO ");

Session session = getSession();
Query query = session.createQuery("UPDATE Gateway gw SET gw.status = 0, gw.lastActivity = NOW()");
query.executeUpdate();
}

如您所见,我使用 Spring 销毁检测。

在 Wildfly 控制台中:

[...]

[WF] 11:58:22,794 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-8) WFLYJCA0010: Unbound data source [java:jboss/datasources/RfBerry]

[...]


[WF] 11:58:23,500 INFO [stdout] (ServerService Thread Pool -- 271) Closing GatewayDAO
[WF] 11:58:23,550 WARN [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (ServerService Thread Pool -- 271) SQL Error: 0, SQLState: null
[WF] 11:58:23,550 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (ServerService Thread Pool -- 271) javax.resource.ResourceException: IJ000470: You are trying to use a connection factory that has been shut down: java:jboss/datasources/RfBerry
[WF] 11:58:23,556 WARN [org.springframework.context.annotation.CommonAnnotationBeanPostProcessor] (ServerService Thread Pool -- 271) Invocation of destroy method failed on bean with name 'gatewayDAOImpl': org.hibernate.exception.GenericJDBCException: Unable to acquire JDBC Connection

我不知道是否可以在应用程序卸载后告诉wildfly关闭数据源。

注意:当我取消部署应用程序并让服务器保持打开状态时,代码就可以工作。

最佳答案

您还可以尝试使用 @DependsOn("datasource")

关于java - 在野蝇关闭时使用数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43539816/

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