2015-07-02 57 views
1

我遇到一个奇怪的问题。无法探索由嵌入式neo4j创建的数据库

我使用嵌入式neo4j创建了一个数据库,其路径为“/Users/bondwong/Documents/workspace/pamela/target/data/pamela.db”。

下面是Spring配置:

<bean id="graphDbBuilder" factory-bean="graphDbFactory" 
    factory-method="newEmbeddedDatabaseBuilder"> 
    <constructor-arg value="target/data/pamela.db" /> 
</bean> 

然后,我改变了这一行neo4j-server.properties的:

org.neo4j.server.database.location=/Users/bondwong/Documents/workspace/pamela/target/data/pamela.db 

在那之后,我用卷曲来测试我的系统,这表明所有很好。这里是让id为9节点的结果: enter image description here

然而,当我启动了服务器,并使用浏览器来查看数据,什么也不显示: enter image description here

这里是位置,这是一样的一个Spring XML配置文件中: enter image description here

这里是:SYSINFO结果: enter image description here

这里是叔他JUnit测试及其结果,显示出它实际上插入数据:

package repositoryTest; 

import static org.junit.Assert.*; 

import java.util.HashMap; 

import org.junit.Test; 
import org.junit.runner.RunWith; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.test.context.ContextConfiguration; 
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; 
import org.springframework.transaction.annotation.Transactional; 

import com.bond.pamela.domain.Diary; 
import com.bond.pamela.domain.factory.DiaryFactory; 
import com.bond.pamela.persistence.DirayRepository; 

@RunWith(SpringJUnit4ClassRunner.class) 
@ContextConfiguration({ "/applicationContext.xml" }) 
public class DiaryRepositoryTest { 
    @Autowired 
    DirayRepository repository; 

    @Test 
    @Transactional 
    public void testSaveDiary() { 
     Diary diary = (Diary) DiaryFactory.getInstance().create(
       new HashMap<String, Object>()); 
     repository.save(diary); 

     Diary retrivedDiary = repository.findOne(diary.getGraphId()); 
     assertEquals(diary, retrivedDiary); 
    } 

} 

enter image description here

,我认为它应该工作,有人知道什么是错的?以及如何解决它。谢谢!

+1

只有一个进程可以一次访问数据库。 Neo4j服务器甚至不应该启动。 –

+0

什么:sysinfo说关于数据库? –

+0

@MichaelHunger你是说我应该关闭neo4j服务器吗?但是我想看看数据,你有其他的想法吗?我停止了tomcat,在那里我的应用程序运行,并试图离开neo4j服务器单独打开,仍然没有任何东西。 –

回答

0

您可以编写Java代码server extension

或使用WrappingBootstrapper暂且。 或者宁可用ServerControls from Neo4j-Harness进行测试

创建数据时,您确定您提交的事务是否正确?

Transaction tx = db.beginTx(); 
// create data 
tx.success(); 
tx.close(); 

或更好

try (Transaction tx = db.beginTx()) { 
    // create data 
    tx.success(); 
} 
+0

我们主要使用WrappingBootstrapper进行调试,但我发现它已被弃用,甚至在下一个版本中被删除 - 是否有计划向嵌入式服务器添加“查询浏览器”或类似的东西,或者官方建议停止使用嵌入式模式? – bennyl

相关问题