Spring ERR_CONNECTION_REFUSED

时间:2018-01-24 16:44:10

标签: java spring spring-boot

我正在关注spring的教程,到目前为止,我的代码允许您添加用户并查看所有用户。我现在正在尝试包含删除功能。我添加了以下代码来实现这一目标。我相信它完全如教程所示,但结果我得到了ERR_CONNECTION_REFUSED。在本教程中,此错误最初显示,但刷新后消失,但在我的情况下,它没有。

的index.html

<a href="#" th:href="@{/user/delete/}+${user.id}">Delete</a>

userService.java

public void delete(User user) {userRepository.delete(user); }

userController.java

@RequestMapping(value = "/delete/{user}", method = RequestMethod.GET)
@ResponseBody
public String delete(@PathVariable User user)
{
    String name = user.getFirstname()+" "+user.getLastname();
    userService.delete(user);
    return name;
}

application.properties(添加到此行的位为;FILE_LOCK=FS

spring.datasource.url=jdbc:h2:file:./database.h2;FILE_LOCK=FS 

我注意到在春季启动时我现在得到以下内容,我知道引用了我刚刚添加的用于删除的锁定方法,但不确定这是否是为什么我得到连接拒绝,因为教程做了同样的事情但是工作:< / p>

  

2018-01-24 16:18:54.446 WARN 6589 --- [重新启动主要]   o.h.e.j.e.i.JdbcEnvironmentInitiator:HHH000342:无法获取   与查询元数据的连接:不支持的文件锁定方法&#34; FS&#34;   [90060-196] 2018-01-24 16:18:54.447 WARN 6589 --- [restartedMain]   ationConfigEmbeddedWebApplicationContext:遇到异常   在上下文初始化期间 - 取消刷新尝试:   org.springframework.beans.factory.BeanCreationException:错误   创建名为&entityManagerFactory&#39;的bean在类路径中定义   资源   [组织/ springframework的/引导/自动配置/ ORM / JPA / HibernateJpaAutoConfiguration.class]:   调用init方法失败;嵌套异常是   org.hibernate.service.spi.ServiceException:无法创建请求的   服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 2018-01-24   16:18:54.447 INFO 6589 --- [restartedMain]   o.apache.catalina.core.StandardService:停止服务[Tomcat]   2018-01-24 16:18:54.454 INFO 6589 --- [restartedMain]   utoConfigurationReportLoggingInitializer:

     

启动ApplicationContext时出错。显示自动配置   报告使用&#39; debug&#39;重新运行您的应用程序启用。 2018年1月24日   16:18:54.459 ERROR 6589 --- [restartedMain]   o.s.boot.SpringApplication:应用程序启动失败

     

org.springframework.beans.factory.BeanCreationException:错误   创建名为&entityManagerFactory&#39;的bean在类路径中定义   资源   [组织/ springframework的/引导/自动配置/ ORM / JPA / HibernateJpaAutoConfiguration.class]:   调用init方法失败;嵌套异常是   org.hibernate.service.spi.ServiceException:无法创建请求的   服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

更新

h2数据库的文档说明了文件锁,为什么这是一个不受支持的方法?:

  

文件锁定方法&#39; FS&#39;这是版本1.4和的默认模式   新。此数据库文件锁定机制使用本机文件系统   锁定数据库文件。在这种情况下,不会创建* .lock.db文件,   并且没有启动后台线程。此机制可能无法正常工作   所有系统都符合预期。某些系统允许锁定同一文件   在同一个虚拟机中和某个系统上多次   在不支持原生文件锁定或文件未解锁后   电力故障。

     

要启用此功能,请将; FILE_LOCK = FS附加到数据库URL。

     

此功能相对较新。请将它用于生产时   确保您的系统确实按预期锁定文件。

2 个答案:

答案 0 :(得分:1)

Spring Boot应用程序启动似乎失败了。您的服务器未启动。根据日志,bean entityManagerFactory的创建失败。这是因为,  FSUnsupported file lock method。请检查这是否有效并且是您所需要的。尝试删除它并检查它是否有效。

答案 1 :(得分:0)

MINVERSE

只是让别人遇到同样的问题,添加第三行就解决了这个问题。