異常RESTEASY003325: Failed to construct public org.keycloak.services.resources.Ke ycloakApplication()

產生原因:在docker下,安裝keycloak,使用mysql數據,出現異常問題如下:

08:30:45,919 ERROR [stderr] (ServerService Thread Pool -- 69) Tue Nov 19 08:30:4
5 GMT 2019 WARN: Establishing SSL connection without server's identity verificat
ion is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requireme
nts SSL connection must be established by default if explicit option isn't set.
For compliance with existing applications not using SSL the verifyServerCertific
ate property is set to 'false'. You need either to explicitly disable SSL by set
ting useSSL=false, or set useSSL=true and provide truststore for server certific
ate verification.

06:47:54,815 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 60
) MSC000001: Failed to start service jboss.deployment.unit."keycloak-server.war"
.undertow-deployment: org.jboss.msc.service.StartException in service jboss.depl
oyment.unit."keycloak-server.war".undertow-deployment: java.lang.RuntimeExceptio
n: RESTEASY003325: Failed to construct public org.keycloak.services.resources.Ke
ycloakApplication()
        at [email protected]//org.wildfly.extension.un
dertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java
:81)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executo
rs.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at [email protected]//org.jboss.threads.ContextClassLoaderSa
vingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
        at [email protected]//org.jboss.threads.EnhancedQueueExecuto
r.safeRun(EnhancedQueueExecutor.java:1982)
        at [email protected]//org.jboss.threads.EnhancedQueueExecuto
r$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
        at [email protected]//org.jboss.threads.EnhancedQueueExecuto
r$ThreadBody.run(EnhancedQueueExecutor.java:1377)
        at java.base/java.lang.Thread.run(Thread.java:834)
        at [email protected]//org.jboss.threads.JBossThread.run(JBos
sThread.java:485)
Caused by: java.lang.RuntimeException: RESTEASY003325: Failed to construct publi
c org.keycloak.services.resources.KeycloakApplication()
        at [email protected]//org.jboss.resteasy.cor
e.ConstructorInjectorImpl.construct(ConstructorInjectorImpl.java:164)
        at [email protected]//org.jboss.resteasy.spi
.ResteasyProviderFactory.createProviderInstance(ResteasyProviderFactory.java:278
4)
        at [email protected]//org.jboss.resteasy.spi
.ResteasyDeployment.createApplication(ResteasyDeployment.java:364)
        at [email protected]//org.jboss.resteasy.spi
.ResteasyDeployment.startInternal(ResteasyDeployment.java:277)
        at [email protected]//org.jboss.resteasy.spi
.ResteasyDeployment.start(ResteasyDeployment.java:89)
        at [email protected]//org.jboss.resteasy.plu
gins.server.servlet.ServletContainerDispatcher.init(ServletContainerDispatcher.j
ava:119)
        at [email protected]//org.jboss.resteasy.plu
gins.server.servlet.HttpServletDispatcher.init(HttpServletDispatcher.java:36)
        at [email protected]//io.undertow.servlet.core.LifecyleIn
terceptorInvocation.proceed(LifecyleInterceptorInvocation.java:117)
        at [email protected]//org.wildfly.extension.un
dertow.security.RunAsLifecycleInterceptor.init(RunAsLifecycleInterceptor.java:78
)
        at [email protected]//io.undertow.servlet.core.LifecyleIn
terceptorInvocation.proceed(LifecyleInterceptorInvocation.java:103)
        at [email protected]//io.undertow.servlet.core.ManagedSer
vlet$DefaultInstanceStrategy.start(ManagedServlet.java:305)
        at [email protected]//io.undertow.servlet.core.ManagedSer
vlet.createServlet(ManagedServlet.java:145)
        at [email protected]//io.undertow.servlet.core.Deployment
ManagerImpl$2.call(DeploymentManagerImpl.java:585)
        at [email protected]//io.undertow.servlet.core.Deployment
ManagerImpl$2.call(DeploymentManagerImpl.java:556)
        at [email protected]//io.undertow.servlet.core.ServletReq
uestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:
42)
        at [email protected]//io.undertow.servlet.core.ContextCla
ssLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
        at [email protected]//org.wildfly.extension.un
dertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContext
ThreadSetupAction.java:105)
        at [email protected]//org.wildfly.extension.un
dertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda
$create$0(UndertowDeploymentInfoService.java:1504)
        at [email protected]//org.wildfly.extension.un
dertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda
$create$0(UndertowDeploymentInfoService.java:1504)
        at [email protected]//org.wildfly.extension.un
dertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda
$create$0(UndertowDeploymentInfoService.java:1504)
        at [email protected]//org.wildfly.extension.un
dertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda
$create$0(UndertowDeploymentInfoService.java:1504)
        at [email protected]//io.undertow.servlet.core.Deployment
ManagerImpl.start(DeploymentManagerImpl.java:598)
        at [email protected]//org.wildfly.extension.un
dertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentServi
ce.java:97)
        at [email protected]//org.wildfly.extension.un
dertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java
:78)
        ... 8 more
Caused by: java.lang.RuntimeException: Failed to connect to database
        at [email protected]//org.keycloak.connections.jpa.D
efaultJpaConnectionProviderFactory.getConnection(DefaultJpaConnectionProviderFac
tory.java:372)
        at [email protected]//org.keycloak.connections.jpa.u
pdater.liquibase.lock.LiquibaseDBLockProvider.lazyInit(LiquibaseDBLockProvider.j
ava:65)
        at [email protected]//org.keycloak.connections.jpa.u
pdater.liquibase.lock.LiquibaseDBLockProvider.lambda$waitForLock$2(LiquibaseDBLo
ckProvider.java:96)
        at [email protected]//org.keycloak.models.u
tils.KeycloakModelUtils.suspendJtaTransaction(KeycloakModelUtils.java:682)
        at [email protected]//org.keycloak.connections.jpa.u
pdater.liquibase.lock.LiquibaseDBLockProvider.waitForLock(LiquibaseDBLockProvide
r.java:94)
        at [email protected]//org.keycloak.services.resources
.KeycloakApplication$1.run(KeycloakApplication.java:178)
        at [email protected]//org.keycloak.models.u
tils.KeycloakModelUtils.runJobInTransaction(KeycloakModelUtils.java:227)
        at [email protected]//org.keycloak.services.resources
.KeycloakApplication.startup(KeycloakApplication.java:171)
        at [email protected]//org.keycloak.services.resources
.KeycloakApplication.init(KeycloakApplication.java:162)
        at [email protected]//org.keycloak.services.resources
.KeycloakApplication.<init>(KeycloakApplication.java:143)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
nce0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
nce(NativeConstructorAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newI
nstance(DelegatingConstructorAccessorImpl.java:45)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
490)
        at [email protected]//org.jboss.resteasy.cor
e.ConstructorInjectorImpl.construct(ConstructorInjectorImpl.java:152)
        ... 31 more
Caused by: java.sql.SQLException: javax.resource.ResourceException: IJ000453: Unable to get managed connection for java:jboss/datasources/KeycloakDS
        at [email protected]//org.jboss.jca.adapte
rs.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:159)
        at [email protected]//org.jboss.as.connector.subsystem
s.datasources.WildFlyDataSource.getConnection(WildFlyDataSource.java:64)
        at [email protected]//org.keycloak.connections.jpa.D
efaultJpaConnectionProviderFactory.getConnection(DefaultJpaConnectionProviderFac
tory.java:366)
        ... 45 more
Caused by: javax.resource.ResourceException: IJ000453: Unable to get managed con
nection for java:jboss/datasources/KeycloakDS
        at [email protected]//org.jboss.jca.core.connectio
nmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManage
r.java:690)
        at [email protected]//org.jboss.jca.core.connectio
nmanager.tx.TxConnectionManagerImpl.getManagedConnection(TxConnectionManagerImpl
.java:440)
        at [email protected]//org.jboss.jca.core.connectio
nmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.
java:789)
        at [email protected]//org.jboss.jca.adapte
rs.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:151)
        ... 47 more
Caused by: javax.resource.ResourceException: IJ031084: Unable to create connecti
on
        at [email protected]//org.jboss.jca.adapte
rs.jdbc.local.LocalManagedConnectionFactory.createLocalManagedConnection(LocalMa
nagedConnectionFactory.java:345)
        at [email protected]//org.jboss.jca.adapte
rs.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(LocalManag
edConnectionFactory.java:352)
        at [email protected]//org.jboss.jca.adapte
rs.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManaged
ConnectionFactory.java:287)
        at [email protected]//org.jboss.jca.core.connectio
nmanager.pool.mcp.SemaphoreConcurrentLinkedDequeManagedConnectionPool.createConn
ectionEventListener(SemaphoreConcurrentLinkedDequeManagedConnectionPool.java:132
8)
        at [email protected]//org.jboss.jca.core.connectio
nmanager.pool.mcp.SemaphoreConcurrentLinkedDequeManagedConnectionPool.getConnect
ion(SemaphoreConcurrentLinkedDequeManagedConnectionPool.java:499)
        at [email protected]//org.jboss.jca.core.connectio
nmanager.pool.AbstractPool.getSimpleConnection(AbstractPool.java:632)
        at [email protected]//org.jboss.jca.core.connectio
nmanager.pool.AbstractPool.getConnection(AbstractPool.java:604)
        at [email protected]//org.jboss.jca.core.connectio
nmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManage
r.java:624)
        ... 50 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driv
er has not received any packets from the server.
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
nce0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
nce(NativeConstructorAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newI
nstance(DelegatingConstructorAccessorImpl.java:45)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
490)
        at [email protected]//com.mysql.jdbc.Util.handleNewInstance(Util.jav
a:425)
        at [email protected]//com.mysql.jdbc.SQLError.createCommunicationsEx
ception(SQLError.java:990)
        at [email protected]//com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:342
)
        at [email protected]//com.mysql.jdbc.ConnectionImpl.coreConnect(Conn
ectionImpl.java:2188)
        at [email protected]//com.mysql.jdbc.ConnectionImpl.connectOneTryOnl
y(ConnectionImpl.java:2221)
        at [email protected]//com.mysql.jdbc.ConnectionImpl.createNewIO(Conn
ectionImpl.java:2016)
        at [email protected]//com.mysql.jdbc.ConnectionImpl.<init>(Connectio
nImpl.java:776)
        at [email protected]//com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Con
nection.java:47)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
nce0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInsta
nce(NativeConstructorAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newI
nstance(DelegatingConstructorAccessorImpl.java:45)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:
490)
        at [email protected]//com.mysql.jdbc.Util.handleNewInstance(Util.jav
a:425)
        at [email protected]//com.mysql.jdbc.ConnectionImpl.getInstance(Conn
ectionImpl.java:386)
        at [email protected]//com.mysql.jdbc.NonRegisteringDriver.connect(No
nRegisteringDriver.java:330)
        at [email protected]//org.jboss.jca.adapte
rs.jdbc.local.LocalManagedConnectionFactory.createLocalManagedConnection(LocalMa
nagedConnectionFactory.java:321)
        ... 57 more
Caused by: java.net.ConnectException: Connection refused (Connection refused)
        at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSoc
ketImpl.java:399)
        at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractP
lainSocketImpl.java:242)
        at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocke
tImpl.java:224)
        at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
        at java.base/java.net.Socket.connect(Socket.java:609)
        at [email protected]//com.mysql.jdbc.StandardSocketFactory.connect(S
tandardSocketFactory.java:211)
        at [email protected]//com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:301
)
        ... 70 more
 

解決方法:

啓動keycloak時,增加JDBC_PARAMS='useSSL=false'

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章