【发布时间】:2020-03-21 13:56:38
【问题描述】:
KeyCloak 无法与我们的数据库通信并留下以下错误消息。但是,我们通过重新启动摆脱了这种情况。但似乎它经常发生。建议/解决方案会更好...
错误片段:
(Timer-2)SQL 错误:17008,SQLState:08003 2019-11-25 23:35:21,389 错误 [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (Timer-2) 关闭连接 2019-11-25 23:35:21,389 错误 [org.keycloak.services](Timer-2)KC-SERVICES0089:运行失败 计划任务 ClearExpiredEvents: javax.persistence.PersistenceException: org.hibernate.exception.JDBCConnectionException:无法准备 陈述 在 org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1692) 在 org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1602) 在 org.hibernate.jpa.internal.QueryImpl.getResultList(QueryImpl.java:492) 在 org.keycloak.models.jpa.JpaRealmProvider.getRealms(JpaRealmProvider.java:99) 在 org.keycloak.models.cache.infinispan.RealmCacheSession.getRealms(RealmCacheSession.java:459) 在 org.keycloak.services.scheduled.ClearExpiredEvents.run(ClearExpiredEvents.java:34) 在 org.keycloak.services.scheduled.ClusterAwareScheduledTaskRunner$1.call(ClusterAwareScheduledTaskRunner.java:56) 在 org.keycloak.services.scheduled.ClusterAwareScheduledTaskRunner$1.call(ClusterAwareScheduledTaskRunner.java:52) 在 org.keycloak.cluster.infinispan.InfinispanClusterProvider.executeIfNotExecuted(InfinispanClusterProvider.java:78) 在 org.keycloak.services.scheduled.ClusterAwareScheduledTaskRunner.runTask(ClusterAwareScheduledTaskRunner.java:52) 在 org.keycloak.services.scheduled.ScheduledTaskRunner.run(ScheduledTaskRunner.java:45) 在 org.keycloak.timer.basic.BasicTimerProvider$1.run(BasicTimerProvider.java:51) 在 java.util.TimerThread.mainLoop(Timer.java:555) 在 java.util.TimerThread.run(Timer.java:505) 引起:org.hibernate.exception.JDBCConnectionException:无法准备 声明
【问题讨论】:
-
我们的数据源配置有什么问题吗?
跨度>jdbc:oracle:thin:@ourDB :port/ORCL oracledb user -
请检查如何在 SO 中提出任何问题,在您的问题中您没有提到您使用的是哪个数据库,Keyclok 版本?你升级钥匙斗篷了吗?您已经清楚地提到了您的问题并提供了适当的细节。
-
你能编辑你的答案并剪切和粘贴所有的堆栈跟踪吗?堆栈跟踪的其余部分指出了根本原因。
-
感谢大家花时间在这个线程上。但是,这个问题已经解决了..似乎keycloak有问题,最新的补丁更新解决了它。