如何将neo4j ogm与非托管扩展集成?
我试图找到一些示例或演示“如何将OGM与非托管扩展集成”,但找不到任何好的示例 我尝试将restapi用作非托管扩展,并单独使用它,但OGM具有智能对象映射功能,可以通过如何将neo4j ogm与非托管扩展集成?,neo4j,spring-data-neo4j,neo4j-ogm,Neo4j,Spring Data Neo4j,Neo4j Ogm,我试图找到一些示例或演示“如何将OGM与非托管扩展集成”,但找不到任何好的示例 我尝试将restapi用作非托管扩展,并单独使用它,但OGM具有智能对象映射功能,可以通过会话实现,并且会话是从 会话工厂 private final static SessionFactory sessionFactory = new SessionFactory("some.domain"); sessionFactory .openSession(); 现在,OGM如何与非托管扩展集成使用
会话
实现,并且会话
是从
会话工厂
private final static SessionFactory sessionFactory = new SessionFactory("some.domain");
sessionFactory .openSession();
现在,OGM如何与非托管扩展集成使用
有人能帮我吗
编辑1
请检查下面的屏幕截图
编辑2
下面是我们编写的代码
import org.neo4j.ogm.drivers.embedded.extension.OgmPluginInitializer;
public class MyApplicationPluginInitializer extends OgmPluginInitializer {
public MyApplicationPluginInitializer(String packages) {
super(packages);
}
}
类拓扑ExtController
@Path("/")
public class TopologyExtController {
@javax.ws.rs.core.Context
public org.neo4j.ogm.session.Session session;
public TopologyExtController( ) {
}
@POST
@Path("/uiv/topology")
public Response getTopology(TopologyDescription topology, @javax.ws.rs.core.Context HttpHeaders headers) {
try{
ObjectMapper mapper = new ObjectMapper();
Map convertValue = mapper.convertValue(topology, Map.class);
Map<String, Object> map = new HashMap<>();
map.put("topology", convertValue);
//OGM session used execute the procedure and return the mapped result to end user.
Result query = session.query("call uiv.traversal($topology)",map);
Iterator<Map<String, Object>> iterator = query.iterator();
if (iterator.hasNext()) {
Map<String, Object> next = iterator.next();
Object object = next.get("rootNodes");
return Response.ok(object).status(200).build();
}
}catch (Exception e)
{
e.printStackTrace();
}
return Response.ok("Something went wrong").status(400).build();
}
}
但我们正在犯错误
11月30日15:17:27 surerest2 neo4j:2018-11-30 09:47:27.611+0000错误
已使用资源检测到以下错误和警告
和/或提供者类别:11月30日15:17:27 surerest2 neo4j:严重:
字段缺少依赖项:public org.neo4j.ogm.session.session
framework.traversal.ext.ogm.controller.TopologyExtController.session
11月30日15:17:27 surerest2 neo4j:2018-11-30 09:47:27.612+0000警告
11月30日15:17:27不可用surerest2 neo4j:
com.sun.jersey.spi.inject.Errors$ErrorMessagesException 11月30日
15:17:27确定2 neo4j:在
com.sun.jersey.spi.inject.Errors.processErrorMessages(Errors.java:170)
11月30日15:17:27确定2 neo4j:在
11月30日,com.sun.jersey.spi.inject.Errors.postProcess(Errors.java:136)
15:17:27确定2 neo4j:在
com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:199)
11月30日15:17:27确定2 neo4j:在
com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:795)
11月30日15:17:27确定2 neo4j:在
com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:790)
11月30日15:17:27确定2 neo4j:在
com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:509)
11月30日15:17:27确定2 neo4j:在
com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:339)
11月30日15:17:27确定2 neo4j:在
com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:605)
11月30日15:17:27确定2 neo4j:在
com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:207)
11月30日15:17:27确定2 neo4j:在
com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:394)
11月30日15:17:27确定2 neo4j:在
com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:577)
11月30日15:17:27确定2 neo4j:在
11月30日,javax.servlet.GenericServlet.init(GenericServlet.java:244)
15:17:27确定2 neo4j:在
org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:665)
11月30日15:17:27确定2 neo4j:在
org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:423)
11月30日15:17:27确定2 neo4j:在
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:760)
11月30日15:17:27确定2 neo4j:在
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:348)
11月30日15:17:27确定2 neo4j:在
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:785)
11月30日15:17:27确定2 neo4j:在
org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:261)
11月30日15:17:27确定2 neo4j:在
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
11月30日15:17:27确定2 neo4j:在
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:133)
11月30日15:17:27确定2 neo4j:在
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:115)
11月30日15:17:27确定2 neo4j:在
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
11月30日15:17:27确定2 neo4j:在
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
11月30日15:17:27确定2 neo4j:在
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:133)
11月30日15:17:27确定2 neo4j:在
org.eclipse.jetty.server.server.start(server.java:418)11月30日15:17:27
surerest2 neo4j:在
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:107)
11月30日15:17:27确定2 neo4j:在
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
11月30日15:17:27确定2 neo4j:在
org.eclipse.jetty.server.server.doStart(server.java:385)11月30日
15:17:27确定2 neo4j:在
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
11月30日15:17:27确定2 neo4j:在
org.neo4j.server.web.Jetty9WebServer.startJetty(Jetty9WebServer.java:320)
11月30日15:17:27确定2 neo4j:在
org.neo4j.server.web.Jetty9WebServer.start(Jetty9WebServer.java:152)
11月30日15:17:27确定2 neo4j:在
org.neo4j.server.AbstractNeoServer.startWebServer(AbstractNeoServer.java:321)
11月30日15:17:27确定2 neo4j:在
org.neo4j.server.AbstractNeoServer.access$700(AbstractNeoServer.java:102)
11月30日15:17:27确定2 neo4j:在
org.neo4j.server.AbstractNeoServer$ServerComponentsLifecycleApter.start(AbstractNeoServer.java:527)
11月30日15:17:27确定2 neo4j:在
org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:445)
11月30日15:17:27确定2 neo4j:在
org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:107)11月
30 15:17:27肯定的2 neo4j:在
org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:212)
11月30日15:17:27确定2 neo4j:在
org.neo4j.server.ServerBootstrapper.start(ServerBootstrapper.java:111)
11月30日15:17:27确定2 neo4j:在
org.neo4j.server.ServerBootstrapper.start(ServerBootstrapper.java:79)
11月30日15:17:27确定2 neo4j:在
com.ne
- framework.traversal.ext.config.MyApplicationPluginInitializer
HttpDriver httpDriver = (HttpDriver) sessionFactory.getDriver();
CloseableHttpResponse response = httpDriver.executeHttpRequest(new HttpGet("http://somewhere"));
response.getEntity().getContent()....
public class MyApplicationPluginInitializer extends OgmPluginInitializer {
public MyApplicationPluginInitializer() {
super("Your package to scan");
}
}