Есть моменты, когда у вас есть приложение, использующее Neo4j во встроенном режиме, но вам также нужно поиграться с графиком с помощью веб-браузера Neo4j. Поскольку доступ к базе данных может осуществляться не более чем одним процессом за раз, попытка запустить сервер Neo4j при работающем встроенном приложении Neo4j не будет работать.
WrappingNeoServerBootstrapper, хотя и устарел, приходит на помощь.
Вот как это сделать.
1. Убедитесь, что у вас есть эти maven зависимости
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
|
< dependency > < groupId >org.neo4j</ groupId > < artifactId >neo4j</ artifactId > < version >2.1.5</ version > </ dependency > < dependency > < groupId >org.neo4j.app</ groupId > < artifactId >neo4j-server</ artifactId > < version >2.1.5</ version > </ dependency > < dependency > < groupId >org.neo4j.app</ groupId > < artifactId >neo4j-server</ artifactId > < version >2.1.5</ version > < classifier >static-web</ classifier > </ dependency > |
2. Запустите WrappingNeoServerBootstrapper
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
|
public static void connectAndStartBootstrapper() { WrappingNeoServerBootstrapper neoServerBootstrapper; GraphDatabaseService db = new GraphDatabaseFactory() .newEmbeddedDatabaseBuilder( "/path/to/db" ).newGraphDatabase(); registerShutdownHook(db); try { GraphDatabaseAPI api = (GraphDatabaseAPI) db; ServerConfigurator config = new ServerConfigurator(api); config.configuration() .addProperty(Configurator.WEBSERVER_ADDRESS_PROPERTY_KEY, "127.0.0.1" ); config.configuration() .addProperty(Configurator.WEBSERVER_PORT_PROPERTY_KEY, "7575" ); neoServerBootstrapper = new WrappingNeoServerBootstrapper(api, config); neoServerBootstrapper.start(); catch (Exception e) { //handle appropriately } } |
Здесь происходят две вещи: GraphDatabaseService готов к использованию во встроенном режиме, а веб-браузер Neo4j доступен для использования по адресу http://127.0.0.1:7575/.
Вам не нужно запускать их вместе, а вместо этого запускать и останавливать WrappingNeoServerBootstrapper по требованию, вам просто нужно иметь дескриптор GraphDatabaseService.
Опять же, обратите внимание, что WrappingNeoServerBootstrapper устарела. На момент написания этот код работает на 2.1.5, но не дает никаких гарантий для будущих выпусков Neo4j.
Ссылка: | Использование браузера Neo4j с Embedded Neo4j от нашего партнера JCG Луан Мискитта в блоге Thought Bytes . |