- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一些单元测试,并希望将 TimeTree 与 Spring 存储库一起使用,以自动将事件节点附加到时间树。类似于 this问题,但我使用的是 boot 2.0 和 SDN5。我认为我的主要问题是我不知道如何设置配置,因此我的存储库和 TimeTree 使用相同的 GraphDatabaseService。我的@Confuration是这样的:
@Configuration
public class SpringConfig {
@Bean
public SessionFactory sessionFactory() {
// with domain entity base package(s)
return new SessionFactory(configuration(), "org.neo4j.boot.test.domain");
}
@Bean
public org.neo4j.ogm.config.Configuration configuration() {
return new org.neo4j.ogm.config.Configuration.Builder()
.uri("bolt://localhost")
.build();
}
@Bean
public Session getSession() {
return sessionFactory().openSession();
}
@Bean
public GraphDatabaseService graphDatabaseService() {
return new GraphDatabaseFactory()
.newEmbeddedDatabase(new File("/tmp/graphDb"));
}
@Bean
public GraphAwareRuntime graphAwareRuntime() {
GraphDatabaseService graphDatabaseService = graphDatabaseService();
GraphAwareRuntime runtime = GraphAwareRuntimeFactory
.createRuntime(graphDatabaseService);
runtime.registerModule(new TimeTreeModule("timetree",
TimeTreeConfiguration
.defaultConfiguration()
.withAutoAttach(true)
.with(new NodeInclusionPolicy() {
@Override
public Iterable<Node> getAll(GraphDatabaseService graphDatabaseService) {
return null;
}
@Override
public boolean include(Node node) {
return node.hasLabel(Label.label("User"));
}
})
.withRelationshipType(RelationshipType.withName("CREATED_ON"))
.withTimeZone(DateTimeZone.forTimeZone(TimeZone.getTimeZone("GMT+1")))
.withTimestampProperty("createdOn")
.withResolution(Resolution.DAY)
// .withCustomTimeTreeRootProperty("timeTreeName")
.withResolution(Resolution.HOUR), graphDatabaseService));
runtime.start();
return runtime;
}
}
我的测试如下所示:
User user = new User("Michal");
user.setCreatedOn(1431937636995l);
userRepository.save(user);
GraphUnit.assertSameGraph(graphDb, "CREATE (u:User {name:'Michal', createdOn:1431937636995})," +
"(root:TimeTreeRoot)," +
"(root)-[:FIRST]->(year:Year {value:2015})," +
"(root)-[:CHILD]->(year)," +
"(root)-[:LAST]->(year)," +
"(year)-[:FIRST]->(month:Month {value:5})," +
"(year)-[:CHILD]->(month)," +
"(year)-[:LAST]->(month)," +
"(month)-[:FIRST]->(day:Day {value:18})," +
"(month)-[:CHILD]->(day)," +
"(month)-[:LAST]->(day)," +
"(day)<-[:CREATED_ON]-(u)"
);
GraphUnit.printGraph(graphDb);
graphDb.shutdown();
有很多错误,但我认为它们都源于此:
Bean instantiation via factory method failed; nested exception is
org.springframework.beans.BeanInstantiationException: Failed to
instantiate [org.springframework.data.repository.support.Repositories]:
Factory method 'repositories' threw exception; nested exception is
org.springframework.beans.factory.UnsatisfiedDependencyException: Error
creating bean with name 'userRepository': Unsatisfied dependency
expressed through method 'setSession' parameter 0; nested exception is
org.springframework.beans.factory.NoUniqueBeanDefinitionException: No
qualifying bean of type 'org.neo4j.ogm.session.Session' available:
expected single matching bean but found 2: getSession,
org.springframework.data.neo4j.transaction.SharedSessionCreator#0
最佳答案
这是因为配置类重新定义了一些Spring boot已经自动配置的bean(这里是Session
)。
所以 Spring 注入(inject)不知道如何在两者之间进行选择。删除 getSession()
应该会有所帮助。
第二件事是您的 SessionFactory
必须在 graphDatabaseService()
方法中使用嵌入式数据库设置。为此,请使用现有数据库配置嵌入式驱动程序。
应该适合您的摘要配置:
@Bean
public SessionFactory sessionFactory() {
EmbeddedDriver driver = new EmbeddedDriver(graphDatabaseService());
return new SessionFactory(driver, "org.neo4j.boot.test.domain");
}
@Bean
public PlatformTransactionManager transactionManager() {
return new Neo4jTransactionManager(sessionFactory());
}
@Bean
public GraphDatabaseService graphDatabaseService() {
return new TestGraphDatabaseFactory().newImpermanentDatabaseBuilder().newGraphDatabase();
}
@Bean
public GraphAwareRuntime graphAwareRuntime() {
...
关于java - 如何使用 boot 2.0 和 Neo4j SDN5 在 Spring 单元测试中配置我自己的 GraphDatabaseService 和 GraphAwareRuntime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46722136/
在 Spring Boot 2.3.4 之前,我一直在使用 @QueryResult 注释将一些自定义 Cypher 查询响应映射到 POJO。我现在正在测试 Spring Boot 2.4 firs
目前正在使用 Neo4j(可能是 2.2)外部服务器作为主数据库启动一个新的 Java 项目,我们决定使用 SDN。这将是一个为期一年的项目,其中包含多个中间版本。 我们想知道是否应该使用当前版本 (
我正在迁移我的应用程序以使用 SDN 4.1.0.RC1,但在尝试启动应用程序后遇到了一些问题。我已经进行了必要的配置更改,以便正确地将 HTTPDriver 用于我的远程服务器 (localhost
我正在尝试使用 POX Controller 来控制流的路径。我知道 Open vSwitch 会选择具有最高优先级的转发规则。但是如果我为具有相同优先级的现有流插入新的转发规则会发生什么。 Open
我想在 mininet 中制作测试平台来测试我自己的算法。我想设置链路数据流量速率,控制流量速率和链路处理速率。但我做不到。如果有人知道如何设置所有这些。请帮助我。 谢谢,阿婆 最佳答案 TL;DR
我想在 mininet 中制作测试平台来测试我自己的算法。我想设置链路数据流量速率,控制流量速率和链路处理速率。但我做不到。如果有人知道如何设置所有这些。请帮助我。 谢谢,阿婆 最佳答案 TL;DR
我正在研究 Open DayLight 的文档, 似乎无法理解 软件定义网络甚至是。我可以在 SDN 上找到的所有媒体炒作、博客和文章都充斥着对我作为工程师没有任何意义的流行语。所以我问:什么(确切地
我有以下 SDN 4 实体: 决策、特征和值: @NodeEntity public class Value { private final static String SET_FOR = "
我们正在使用 spring-data-neo4j 版本 2.2.2.Release 和 Neo4j 1.9 使用 GraphRepository 保存和更新节点(属性)可以正常工作 我们最简单的示例如
最近二狗子在网上冲浪的时候,不小心将 CDN 搜索成了 SDN,结果跳出来了一大堆相关的知识点。 好学的二狗子当然不会随随便便糊弄过去,于是认认真真学习了好久,终于了解了 SDN 是什么。
如何使用 Ryu 发送流条目来删除包?我从教程中学习了如何将包发送出流条目: 我定义 Action :actions = [ofp_parser.OFPActionOutput(ofp.OFPP_FL
我正在尝试让SDN 4与Gradle和Groovy一起使用,并检查了此处的其他帖子,第二天晚上我开始使用它,但我想在过去几天中发生了一些变化。 当我尝试运行测试时,由于ClassNotFoundExc
我有一个以下 Neo4j SDN 实体: @NodeEntity public class Comment { private final static String COMMENTED_ON
当运行 mininet 拓扑时,我们可以使用 ovs 或 ovsk 作为 mininet 的 mn 命令中的 --switch 参数,例如: mn --custom topo.py --topo t
在 OpenFlow 协议(protocol)中,我们有一个流表(或多个流表)。交换机中的每个流表都包含一组流表项。每个流条目包含报头字段、计数器和一组要应用的指令或操作。指令就像“将这个 Actio
我是 Neo4J 的新手,我正在尝试为基于时空的高可用性查询构建概念证明。 我有一个设置,其中包含 2 个独立的 Neo4J Enterprise 服务器和一个使用嵌入式 HA Neo4J 服务器运行
在软件定义的网络中,有些东西我仍然没有得到:在传统网络中,我们使用 CLI 或 NETCONF 或者 SNMP 来配置设备,在 SDN 中,我们使用 Openflow 来这样做,但是检索信息呢? 之前
在软件定义的网络中,有些东西我仍然没有得到:在传统网络中,我们使用 CLI 或 NETCONF 或者 SNMP 来配置设备,在 SDN 中,我们使用 Openflow 来这样做,但是检索信息呢? 之前
这是我的配置 @EnableTransactionManagement @EnableScheduling @EnableAutoConfiguration @ComponentScan(basePa
在我的 Neo4j/SDN 4 应用程序中,我的所有 Cypher 查询都基于内部 Neo4j ID。 这是一个问题,因为我不能在我的 Web 应用程序 URL 中依赖这些 ID。 Neo4j 可以重
我是一名优秀的程序员,十分优秀!