Я пытаюсь найти пример или демонстрацию "Как интегрировать OGM с неуправляемым расширением", но не могу найти ни одного хорошего примера.
Я пытался использовать restapi в качестве неуправляемого расширения и по отдельности его нормально работающийно OGM имеет возможность умного сопоставления объектов и может быть достигнуто с помощью Session
, а Session
получается из SessionFactory
.
private final static SessionFactory sessionFactory = new SessionFactory("some.domain");
sessionFactory .openSession();
Теперь, как OGM можно использовать для интеграции с Unmanaged Extension?
Может кто-нибудь, пожалуйста, помогите мне за то же самое.
Редактировать 1
Пожалуйста, проверьте ниже снимок экрана
РЕДАКТИРОВАТЬ 2
Ниже приведен код, который мы написали
import org.neo4j.ogm.drivers.embedded.extension.OgmPluginInitializer;
public class MyApplicationPluginInitializer extends OgmPluginInitializer {
public MyApplicationPluginInitializer(String packages) {
super(packages);
}
}
Класс TopologyExtController
@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();
}
}
Запись META-INF \ META-INF \services \ org.neo4j.server.plugins.PluginLifecycle
- framework.traversal.ext.config.MyApplicationPluginInitializer
Но мы получаем ошибку
30 ноября 15:17:27 surerest2 neo4j: 2018-11-30 09: 47: 27.611 + 0000 ОШИБКА Следующие ошибки и предупреждения были обнаружены с помощью классов ресурсов и / или поставщиков: Nov 30 15:17:27 surerest2 neo4j: SEVERE: отсутствует зависимость для поля: public org.neo4j.ogm.session.Session framework.traversal.ext.ogm.controller.TopologyExtController.session 30 ноября 15:17:27 surerest2 neo4j:2018-11-30 09: 47: 27.612 + 0000 ПРЕДУПРЕЖДЕНИЕ недоступно 30 ноября 15:17:27 surerest2 neo4j: com.sun.jersey.spi.inject.Errors $ ErrorMessagesException 30 ноября 15:17:27 surerest2 neo4j: at com.sun.jersey.spi.inject.Errors.processErrorMessages (Errors.java:170) 30 ноября 15:17:27 surerest2 neo4j: в com.sun.jersey.spi.inject.Errors.postProcess (Errors.java:136) ноябрь30 15:17:27 surerest2 neo4j: на com.sun.jersey.spi.inject.Errors.processWithErrors (Errors.java:199) 30 ноября 15:17:27 surerest2 neo4j: на com.sun.jersey.server.impl.application.WebApplicationImpl.initiate (WebApplicationImpl.java:795) 30 ноября 15:17:27 surerest2 neo4j: в com.sun.jersey.server.impl.application.WebApplicationImpl.initiate (WebApplicationImpl.java:790) 30 ноября 15:17:27 surerest2 neo4j: на com.sun.jersey.spi.container.servlet.ServletContainer.initiate (ServletContainer.java:509) 30 ноября 15:17:27 surerest2 neo4j: at com.sun.jersey.spi.container.servlet.ServletContainer $ InternalWebComponent.initiate (ServletContainer.java:339) 30 ноября 15:17: 27 surerest2 neo4j: на com.sun.jersey.spi.container.servlet.WebComponent.load (WebComponent.java:605) 30 ноября 15:17:27 surerest2 neo4j: на com.sun.jersey.spi.container.servlet.WebComponent.init (WebComponent.java:207) 30 ноября 15:17:27 surerest2 neo4j: на com.sun.jersey.spi.container.servlet.ServletContainer.init (ServletContainer.java:394) 30 ноября 15:17:27 surerest2 neo4j: в com.sun.jersey.spi.container.servlet.ServletContainer.init (ServletContainer.java:577) 30 ноября 15:17:27 surerest2 neo4j: в javax.servlet.GenericServlet.init (GenericServlet.j:244) 30 ноября 15:17:27 surerest2 neo4j: в org.eclipse.jetty.servlet.ServletHolder.initServlet (ServletHolder.java:665) 30 ноября 15:17:27 surerest2 neo4j: в org.eclipse.jetty.servlet.ServletHolder.initialize (ServletHolder.java:423) 30 ноября, 15:17:27 увереностальные2) 30 ноября 15:17:27 surerest2 neo4j: в org.eclipse.jetty.server.handler.ContextHandler.doStart (ContextHandler.java:785) 30 ноября 15:17:27 surerest2 neo4j: в org.eclipse.jetty.servlet.ServletContextHandler.doStart (ServletContextHandler.java:261) 30 ноября 15:17:27 surerest2 neo4j: в org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:68) 30 ноября 15:17:27 уверенneo4j: at org.eclipse.jetty.util.component.ContainerLifeCycle.start (ContainerLifeCycle.java:133) 30 ноября 15:17:27 surerest2 neo4j: at org.eclipse.jetty.util.component.ContainerLifeCycle.doStarty.Java: 115)30 ноября 15:17:27 surerest2 neo4j: в org.eclipse.jetty.server.handler.AbstractHandler.doStart (AbstractHandler.java:113) 30 ноября 15:17:27 surerest2 neo4j: в org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:68) 30 ноября 15:17:27 surerest2 neo4j: at org.eclipse.jetty.util.component.ContainerLifeCycle.start (ContainerLifeCycle.java:133) 30 ноября 15:17:27surerest2 neo4j: at org.eclipse.jetty.server.Server.start (Server.java:418) 30 ноября 15:17:27 surerest2 neo4j: at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart (ContainerLifeCycle.java): 107) 30 ноября 15:17:27 surerest2 neo4j: в org.eclipse.jetty.server.handler.AbstractHandler.doStart (AbstractHandler.java:113) 30 ноября 15:17:27 surerest2 neo4j: в org.eclipse.jetty.server.Server.doStart (Server.java:385) 30 ноября 15:17:27 surerest2 neo4j: в org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:68) 30 ноября 15:17:27 surerest2 neo4j: atg.neo4j.server.web.Jetty9WebServer.startJetty (Jetty9WebServer.java:320) 30 ноября 15:17:27 surerest2 neo4j: в org.neo4j.server.web.Jetty9WebServer.start (Jetty9WebServer.java:152) 30 ноября 15:17:27 surerest2 neo4j: в org.neo4j.server.AbstractNeoServer.startWebServer (AbstractNeoServer.java:321) 30 ноября 15:17:27 surerest2 neo4j: в org.neo4j.server.AbstractNeoServer.access $ 700 (AbstractNeoServer.java:102) ноя 30, 15:17:4 уверенв org.neo4j.server.AbstractNeoServer $ ServerComponentsLifecycleAdapter.start (AbstractNeoServer.java:527) 30 ноября 15:17:27 surerest2 neo4j: в org.neo4j.kernel.lifecycle.LifeSupport $ LifecycleInstance.ppart30 ноября 15:17:27 surerest2 neo4j: в org.neo4j.kernel.lifecycle.LifeSupport.start (LifeSupport.java:107) 30 ноября 15:17:27 surerest2 neo4j: в org.neo4j.server.AbstractNeoServer.start (AbstractNeoServer.java:212) 30 ноября 15:17:27 surerest2 neo4j: в org.neo4j.server.ServerBootstrapper.start (ServerBootstrapper.java:111) 30 ноября 15:17:27 surerest2 neo4j: в org.neo4j.server.ServerBootstrapper.start(ServerBootstrapper.java:79) 30 ноября 15:17:27 surerest2 neo4j: at com.neo4j.server.enterprise.CommercialEntryPoint.main (CommercialEntryPoint.java:22) 30 ноября 15:17:27 surerest2 neo4j: 2018-11-30 09: 47: 27.639 + 0000 ОШИБКА Не удалось запустить Neo4j 127.0.0.1:7474: org.neo4j.server.web.NeoServletContainer-737fd68 @ 2dde7c07 == org.neo4j.server.web.NeoServletContainer, jeoServletContainer, jeo= -1, inst = false 30 ноября 15:17:27 surerest2 neo4j: 2018-11-30 09: 47: 27.658 + 0000 ИНФОРМАЦИЯ Остановка ... 30 ноября 15:17:28 surerest2 neo4j: 2018-11-30 09: 47: 28.279 + 0000 INFO Остановлено.30 ноября 15:17:28 surerest2 neo4j: 2018-11-30 09: 47: 28.281 + 0000 ОШИБКА Не удалось запустить Neo4j: сбой запуска Neo4j: компонент org.neo4j.server.AbstractNeoServer$ServerComponentsLifecycleAdapter@6c49db66 'был успешно инициализирован,но не удалось начать.Пожалуйста, смотрите прикрепленную причину исключения «ноль».Не удалось запустить Neo4j: компонент 'org.neo4j.server.AbstractNeoServer$ServerComponentsLifecycleAdapter@6c49db66' был успешно инициализирован, но запустить не удалось.Пожалуйста, смотрите прикрепленную причину исключения «ноль».30 ноября 15:17:28 surerest2 neo4j: org.neo4j.server.ServerStartupException: Запуск Neo4j не выполнен: компонент 'org.neo4j.server.AbstractNeoServer$ServerComponentsLifecycleAdapter@6c49db66' был успешно инициализирован, но запустить не удалось.Пожалуйста, смотрите прикрепленную причину исключения «ноль».30 ноября 15:17:28 surerest2 neo4j: в org.neo4j.server.exception.ServerStartupErrors.translateToServerStartupError (ServerStartupErrors.java:68) 30 ноября 15:17:28 surerest2 neo4j: в org.neo4j.serst.Server.AbstractAbstractNeoServer.java:220) 30 ноября 15:17:28 surerest2 neo4j: в org.neo4j.server.ServerBootstrapper.start (ServerBootstrapper.java:111) 30 ноября 15:17:28 surerest2 neo4j: в org.neo4j.server.ServerBootstrapper.start (ServerBootstrapper.java:79) 30 ноября 15:17:28 surerest2 neo4j: вcom.neo4j.server.enterprise.CommercialEntryPoint.main (CommercialEntryPoint.java:22) 30 ноября 15:17:28 surerest2 neo4j: вызвано: org.neo4j.kernel.lifecycle.LifecycleException: компонент 'org.neo4j.server.AbstractNeoServer$ ServerComponentsLifecycleAdapter @ 6c49db66 'успешно инициализирован, но не запускается.Пожалуйста, смотрите прикрепленную причину исключения «ноль».30 ноября 15:17:28 surerest2 neo4j: в org.neo4j.kernel.lifecycle.LifeSupport $ LifecycleInstance.start (LifeSupport.java:466) 30 ноября 15:17:28 surerest2 neo4j: в org.neo4j.kernel.lifecycle.LifeSupport.start (LifeSupport.java:107) 30 ноября 15:17:28 surerest2 neo4j: в org.neo4j.server.AbstractNeoServer.start (AbstractNeoServer.java:212) 30 ноября 15:17:28 surerest2 neo4j: ...Еще 3 ноября 30 15:17:28 surerest2 neo4j: вызвано: javax.servlet.ServletException: org.neo4j.server.web.NeoServletContainer-737fd68 @ 2dde7c07 == org.neo4j.server.web.NeoServletContainorder = -1, inst = false 30 ноября 15:17:28 surerest2 neo4j: at org.eclipse.jetty.servlet.ServletHolder.initServlet (ServletHolder.java:686) 30 ноября 15:17:28 surerest2 neo4j: в орг.eclipse.jetty.servlet.ServletHolder.initialize (ServletHolder.java:423) 30 ноября 15:17:28 surerest2 neo4j: в org.eclipse.jetty.servlet.ServletHandler.initialize (ServletHandler.java:760) 30 ноября: 28 surerest2 neo4j: в org.eclipse.jetty.servlet.ServletContextHandler.startContext (ServletContextHandler.java:348) 30 ноября 15:17:28 surerest2 neo4j: at org.eclipse.jetty.server.handler.ContextHandler.doStart (ContextHandler.java:785) 30 ноября 15:17:28 surerest2 neo4j: вorg.eclipse.jetty.servlet.ServletContextHandler.doStart (ServletContextHandler.java:261) 30 ноября 15:17:28 surerest2 neo4j: в org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeC)30 15:17:28 surerest2 neo4j: в org.eclipse.jetty.util.component.ContainerLifeCycle.start (ContainerLifeCycle.java:133) 30 ноября 15:17:28 surerest2 neo4j: в org.eclipse.jetty.util.component.ContainerLifeCycle.doStart (ContainerLifeCycle.java:115) 30 ноября 15:17:28 surerest2 neo4j: в org.eclipse.jetty.server.handler.AbstractHandler.doStart (AbstractHandler.java:113) 30 ноября 15:17:28 surerest2neo4j: at org.eclipse.jetty.util.component.AbstractLifeCycle.start (AbstractLifeCycle.java:68) 30 ноября 15:17:28 surerest2 neo4j: at org.eclipse.jetty.util.component.ContainerLifeCycle.start (ContainerLifecle.java:133) 30 ноября 15:17:28 surerest2 neo4j: в org.eclipse.jetty.server.Server.start (Server.java:418) 30 ноября 15:17:28 surerest2 neo4j: в org.eclipse.jetty.util.component.ContainerLifeCycle.doStart (ContainerLifeCycle.java:107) 30 ноября 15:17:28 surerest2 neo4j: в org.eclipse.jetty.server.handler.AbstractHandler.doStart (AbstractHandler.java:113) 30 ноября 15: 17: 28 surerest2 neo4j: в org.eclipse.jetty.server.Server.doStart (Server.java:385) 30 ноября 15:17:28 surerest2 neo4j: в org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) 30 ноября 15:17:28 surerest2 neo4j: at org.neo4j.server.web.Jetty9WebServer.startJetty (Jetty9WebServer.java:320) 30 ноября 15:17:28 surerest2 neo4j: в орг.нео4j.server.web.Jetty9WebServer.start (Jetty9WebServer.java:152) 30 ноября 15:17:28 surerest2 neo4j: в org.neo4j.server.AbstractNeoServer.startWebServer (AbstractNeoServer.java:321) уверен, 30 ноябряneo4j: в org.neo4j.server.AbstractNeoServer.access $ 700 (AbstractNeoServer.java:102)30 ноября 15:17:28 surerest2 neo4j: в org.neo4j.server.AbstractNeoServer $ ServerComponentsLifecycleAdapter.start (AbstractNeoServer.java:527) 30 ноября 15:17:28 surerest2 neo4j: в org.neo4j.kernel.lifeppu $ $LifecycleInstance.start (LifeSupport.java:445) 30 ноября 15:17:28 surerest2 neo4j: ... еще 5 ноября 30 15:17:28 surerest2 neo4j: вызвано: com.sun.jersey.spi.inject.Errors $ErrorMessagesException 30 ноября 15:17:28 surerest2 neo4j: вcom.sun.jersey.spi.inject.Errors.processErrorMessages (Errors.java:170) 30 ноября 15:17:28 surerest2 neo4j: в com.sun.jersey.spi.inject.Errors.postProcess (Errors.java:136) 30 ноября 15:17:28 surerest2 neo4j: на com.sun.jersey.spi.inject.Errors.processWithErrors (Errors.java:199) 30 ноября 15:17:28 surerest2 neo4j: на com.sun.jersey.server.impl.application.WebApplicationImpl.initiate (WebApplicationImpl.java:795) 30 ноября 15:17:28 surerest2 neo4j: в com.sun.jersey.server.impl.application.WebApplicationImpl.initiate (WebApplicationImpl.java:790) 30 ноября15:17:28 surerest2 neo4j: на com.sun.jersey.spi.container.servlet.ServletContainer.initiate (ServletContainer.java:509) 30 ноября 15:17:28 surerest2 neo4j: на com.sun.jersey.spi.container.servlet.ServletContainer $ InternalWebComponent.initiate (ServletContainer.java:339) 30 ноября 15:17:28 surerest2 neo4j: в com.sun.jersey.spi.container.servlet.WebComponent.load (WebComponent.java:605) ноябрь30 15:17:28 surerest2 neo4j: на com.sun.jersey.spi.container.servlet.WebComponent.init (WebComponent.java:207) 30 ноября 15:17:28 surerest2 neo4j: на com.sun.jersey.spi.container.servlet.ServletContainer.init (ServletContainer.java:394) 30 ноября 15:17:28surerest2 neo4j: на com.sun.jersey.spi.container.servlet.ServletContainer.init (ServletContainer.java:577) 30 ноября 15:17:28 surerest2 neo4j: на javax.servlet.GenericServlet.init (GenericServlet.java:24) 30 ноября 15:17:28 surerest2 neo4j: at org.eclipse.jetty.servlet.ServletHolder.initServlet (ServletHolder.java:665) 30 ноября 15:17:28 surerest2 neo4j: ... еще 27