当tc服务器停止时(在STS中运行它),我的嵌入式neo4j数据库上似乎没有正确调用shutdown()。
以下是我看到的日志消息:
16:03:43.358 [localhost-startStop-1] INFO neo4j.xafactory - Non clean shutdown detected on log [/home/billy/target/data/graph.db/nioneo_logical.log.1]. Recovery started ...
INFO: Non clean shutdown detected on log [/home/billy/target/data/graph.db/index/lucene.log.1]. Recovery started ...
我在Spring论坛上搜索了类似的问题,我找到的只有this post
但是我不认为这是相关的,因为Spring应该在关闭上下文时处理它。
<neo4j:config storeDirectory="target/data/graph.db"/>
<neo4j:repositories base-package="com.example.repository"/>
此标记的XML Parser清楚地在bean上注册了shutdown()destroy方法。
private String handleStoreDir(Element element, ParserContext context, BeanDefinitionBuilder configBuilder) {
String storeDir = element.getAttribute("storeDirectory");
if (!hasText(storeDir)) return null;
BeanDefinitionBuilder graphDefinitionBuilder = BeanDefinitionBuilder.rootBeanDefinition(EmbeddedGraphDatabase.class);
graphDefinitionBuilder.addConstructorArgValue(storeDir);
graphDefinitionBuilder.setScope("singleton");
graphDefinitionBuilder.setDestroyMethodName("shutdown");
context.getRegistry().registerBeanDefinition(GRAPH_DATABASE_SERVICE, graphDefinitionBuilder.getBeanDefinition());
configBuilder.addPropertyReference(GRAPH_DATABASE_SERVICE, GRAPH_DATABASE_SERVICE);
return GRAPH_DATABASE_SERVICE;
}
另外不要被我的日志消息搞糊涂我的数据库实际上并不在webapps目录中,应用程序服务器上应用程序的路径实际上是:
/home/billy/DevTools/springsource/vfabric-tc-server-developer-2.8.2.RELEASE/base-instance/wtpwebapps
有没有其他人遇到过这个问题,并想出如何解决它?对于我的小型示例应用程序来说,这不是什么大问题,但如果我为生产应用程序选择此技术,那么这不是我想要看到的消息。
答案 0 :(得分:0)