Java 弹簧靴,can';我不能冬眠去工作
我正在尝试让spring boot 1.5.7与Hikari CP的Hibernate一起工作。我在日志中得到了以下信息:Java 弹簧靴,can';我不能冬眠去工作,java,spring,hibernate,spring-boot,hikaricp,Java,Spring,Hibernate,Spring Boot,Hikaricp,我正在尝试让spring boot 1.5.7与Hikari CP的Hibernate一起工作。我在日志中得到了以下信息: 0-Apr-2018 14:07:59.544 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appr
0-Apr-2018 14:07:59.544 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file
30-Apr-2018 14:07:59.545 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal Context [/web] startup failed due to previous errors
30-Apr-2018 14:07:59.550 WARNING [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [web] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
30-Apr-2018 14:07:59.550 WARNING [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [web] appears to have started a thread named [pool-1-thread-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
java .util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1081 java util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)
30-Apr-2018 14:07:59.550 WARNING [localhost-startStop-1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [web] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:64)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)
这重复了大约5次,我认为这不是巧合,这是我告诉Hikari开始的最小连接数。以下是相关的application.properties部分:
# -- Hibernate / JPA
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.url=jdbc:mysql://xxxx:3306/gridunity?useSSL=false
spring.datasource.username=xxxxx
spring.datasource.password=xxxx
spring.datasource.hikari.connection-timeout=60000
spring.datasource.hikari.maximum-pool-size=5
spring.jpa.hibernate.connection.provider_class=org.hibernate.hikaricp.internal.HikariCPConnectionProvider
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
spring.jpa.properties.hibernate.id.new_generator_mappings = false
spring.jpa.properties.hibernate.format_sql = false
spring.jpa.properties.hibernate.ejb.naming_strategy=FooBar
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
spring.jpa.properties.hibernate.current_session_context_class=org.springframework.orm.hibernate5.SpringSessionContext
以下是POM的相关部分:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-jdbc</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-websocket</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-messaging</artifactId>
</dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
实际错误的stacktrace应该在您发布的代码段上方几行。。。可以从日志顶部再次检查。?为您添加。但是他们(对我来说)似乎加载的很好。日志的第一行说,
一个或多个侦听器启动失败
catalina.out或应用程序日志文件中应该有一个stacktrace。这不一定是因为一个bean。这可能是由于目录权限不正确或tomcat想要侦听的端口被占用等原因造成的。带有警告的行是不相关的,其他原因正在阻止启动。虽然提供的附加日志说明它确实启动了,但它真的没有启动吗?另外,您试图做什么来启动一个独立的Spring引导应用程序,或者将其部署到一个正在运行的Tomcat实例?首先,删除spring.jpa.hibernate.connection.provider\u类设置(您正在注入一个外部管理的数据源
,所以不要使用它)。您还可以删除spring.datasource.type
,我怀疑FooBar
是否是有效的spring.jpa.properties.hibernate.ejb.naming\u策略
2018-04-30 14:36:53,560 INFO com.zaxxer.hikari.HikariDataSource - HikariPool-1 - Started.
2018-04-30 14:36:59,911 INFO o.s.j.e.a.AnnotationMBeanExporter - Registering beans for JMX exposure on startup
2018-04-30 14:36:59,912 INFO o.s.j.e.a.AnnotationMBeanExporter - Bean with name 'dataSource' has been autodetected for JMX exposure
2018-04-30 14:36:59,915 INFO o.s.j.e.a.AnnotationMBeanExporter - Located MBean 'dataSource': registering with JMX server as MBean [com.zaxxer.hikari:name=dataSource,type=HikariDataSource]
2018-04-30 14:36:59,918 INFO o.s.c.s.DefaultLifecycleProcessor - Starting beans in phase 2147483647
2018-04-30 14:36:59,919 INFO o.s.m.s.b.SimpleBrokerMessageHandler - Starting...
2018-04-30 14:36:59,919 INFO o.s.m.s.b.SimpleBrokerMessageHandler - BrokerAvailabilityEvent[available=true, SimpleBrokerMessageHandler [DefaultSubscriptionRegistry[cache[0 destination(s)], registry[0 sessions]]]]
2018-04-30 14:36:59,919 INFO o.s.m.s.b.SimpleBrokerMessageHandler - Started.
2018-04-30 14:37:00,192 INFO o.h.h.i.QueryTranslatorFactoryInitiator - HHH000397: Using ASTQueryTranslatorFactory
2018-04-30 14:37:26,526 DEBUG c.g.web.ConnectionsConfiguration - Field acls cached
2018-04-30 14:37:26,610 INFO com.xxx.web.Application - Started Application in 35.556 seconds (JVM running for 36.992)