繁体   English   中英

春季ERR_CONNECTION_REFUSED

[英]Spring ERR_CONNECTION_REFUSED

我正在阅读关于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 

我注意到在Spring Boot中,我现在得到以下信息,我知道它引用了我刚刚添加的用于删除的lock方法,但不确定这是否是为什么我被拒绝连接的原因,因为本教程做了同样的事情但起作用了:

2018-01-24 16:18:54.446警告6589 --- [restartMain] ohejeiJdbcEnvironmentInitiator:HHH000342:无法获得与查询元数据的连接:不支持的文件锁定方法“ FS” [90060-196] 2018-01-24 16:18 :54.447 WARN 6589 --- [restartedMain] ationConfigEmbeddedWebApplicationContext:上下文初始化期间遇到异常-取消刷新尝试:org.springframework.beans.factory.BeanCreationException:创建类名称为'entityManagerFactory'的bean时在类路径资源[org / springframework / [boot / autoconfigure / orm / jpa / HibernateJpaAutoConfiguration.class]:调用init方法失败; 嵌套的异常是org.hibernate.service.spi.ServiceException:无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 2018-01-24 16:18:54.447信息6589-[重新启动] o.apache.catalina.core.StandardService:正在停止服务[Tomcat] 2018-01-24 16:18:54.454信息6589 --- [restartedMain] utoConfigurationReportLoggingInitializer:

启动ApplicationContext时出错。 要显示自动配置报告,请在启用“调试”的情况下重新运行您的应用程序。 2018-01-24 16:18:54.459错误6589 --- [restartedMain] osboot.SpringApplication:应用程序启动失败

org.springframework.beans.factory.BeanCreationException:创建在类路径资源[org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaAutoConfiguration.class]中定义的名称为'entityManagerFactory'的bean时出错:调用init方法失败; 嵌套的异常是org.hibernate.service.spi.ServiceException:无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

UPDATE

h2数据库的文档说明了有关文件锁定的信息,那么为什么这是不受支持的方法?

文件锁定方法'FS'这是1.4版及更高版本的默认模式。 此数据库文件锁定机制在数据库文件上使用本机文件系统锁定。 在这种情况下,不会创建* .lock.db文件,并且不会启动任何后台线程。 此机制可能无法在所有系统上正常工作。 某些系统允许在同一虚拟机中多次锁定同一文件,并且在某些系统上,不支持本机文件锁定,或者在电源故障后无法解锁文件。

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

此功能是相对较新的。 在将其用于生产时,请确保事实上系统确实按预期锁定了文件。

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

spring.datasource.driver-class-name=org.h2.Driver

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

spring.jpa.hibernate.ddl-auto=update

万一其他人遇到相同的问题,添加第三行即可解决此问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM