Java Jboss7+neo4j+hibernate ogm=StoreLockException?
我正在尝试使用hibernate=ogm在JBoss7下设置neo4j,下面是我的pon.xml:Java Jboss7+neo4j+hibernate ogm=StoreLockException?,java,hibernate,jboss,neo4j,hibernate-ogm,Java,Hibernate,Jboss,Neo4j,Hibernate Ogm,我正在尝试使用hibernate=ogm在JBoss7下设置neo4j,下面是我的pon.xml: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/m
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Think01</groupId>
<artifactId>CityMiners</artifactId>
<packaging>war</packaging>
<version>1.0</version>
<name>RESTfulDemoApplication Maven Webapp</name>
<url>http://maven.apache.org</url>
<repositories>
<repository>
<id>jboss</id>
<url>http://repository.jboss.org/maven2</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.jboss.ejb3</groupId>
<artifactId>jboss-ejb3-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.hibernate.ogm</groupId>
<artifactId>hibernate-ogm-neo4j</artifactId>
<version>4.1.3.Final</version>
</dependency>
</dependencies>
<build>
<finalName>CityMiners</finalName>
</build>
</project>
以下是部署后我收到的信息:
[2015-06-06 11:04:14,734] Artifact CityMiners:war: java.lang.Exception: {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"CityMiners.war\".component.Test.START" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"CityMiners.war\".component.Test.START: java.lang.IllegalStateException: JBAS011048: Failed to construct component instance
Caused by: java.lang.IllegalStateException: JBAS011048: Failed to construct component instance
Caused by: javax.ejb.EJBException: javax.persistence.PersistenceException: Unable to build entity manager factory
Caused by: javax.persistence.PersistenceException: Unable to build entity manager factory
Caused by: org.hibernate.service.spi.ServiceException: OGM000071: Unable to start datatore provider
Caused by: java.lang.RuntimeException: Error starting org.neo4j.kernel.EmbeddedGraphDatabase, d:\\dev\\q7
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.kernel.StoreLockerLifecycleAdapter@c5c0fa' was successfully initialized, but failed to start. Please see attached cause exception.
Caused by: org.neo4j.kernel.StoreLockException: Unable to obtain lock on store lock file: d:\\dev\\q7\\store_lock. Please ensure no other process is using this database, and that the directory is writable (required even for read-only access)
Caused by: java.io.IOException: Couldn't lock lock file d:\\dev\\q7\\lock because another process already holds the lock."}}
堆栈跟踪显示无法锁定锁定文件d:\dev\q7\lock,因为另一个进程已持有该锁。但是我很确定没有任何外部进程接触到这个文件,我没有并行运行另一个neo4j进程——看起来JBoss本身就持有这个锁
你知道怎么过来吗?
提前谢谢 您是否可以使用系统工具检查哪些其他进程访问了它?也许有以前部署的遗留物?没有,我在persistence.xml的每个构建中使用不同的hibernate.ogm.neo4j.database_路径…甚至更多-如果我从该项目中删除Test.java,使其不再包含java代码并部署到JBoss,那么Windows Process Explorer仍将显示对数据存储目录中多个文件的锁定。。。我在项目中没有重复JAVA代码:
@Singleton
@Startup
public class Test {
private EntityManagerFactory emf;
@PostConstruct
public void init() {
emf = Persistence.createEntityManagerFactory("ogm-neo4j");
}
@PreDestroy
public void kill() {
emf.close();
}
}
[2015-06-06 11:04:14,734] Artifact CityMiners:war: java.lang.Exception: {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"CityMiners.war\".component.Test.START" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"CityMiners.war\".component.Test.START: java.lang.IllegalStateException: JBAS011048: Failed to construct component instance
Caused by: java.lang.IllegalStateException: JBAS011048: Failed to construct component instance
Caused by: javax.ejb.EJBException: javax.persistence.PersistenceException: Unable to build entity manager factory
Caused by: javax.persistence.PersistenceException: Unable to build entity manager factory
Caused by: org.hibernate.service.spi.ServiceException: OGM000071: Unable to start datatore provider
Caused by: java.lang.RuntimeException: Error starting org.neo4j.kernel.EmbeddedGraphDatabase, d:\\dev\\q7
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.kernel.StoreLockerLifecycleAdapter@c5c0fa' was successfully initialized, but failed to start. Please see attached cause exception.
Caused by: org.neo4j.kernel.StoreLockException: Unable to obtain lock on store lock file: d:\\dev\\q7\\store_lock. Please ensure no other process is using this database, and that the directory is writable (required even for read-only access)
Caused by: java.io.IOException: Couldn't lock lock file d:\\dev\\q7\\lock because another process already holds the lock."}}