无法浏览嵌入式neo4j创建的数据库

时间:2015-07-02 06:31:26

标签: neo4j spring-data-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

之后,我使用curl来测试我的系统,这表明一切都很好。这是获取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

我觉得应该有用,有人知道出了什么问题?以及如何解决它。 THX!

1 个答案:

答案 0 :(得分: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(); 
}