Spring Data Neo4j-Cómo hacer que WrappingNeoServerBootstrapper escuche en 0.0.0.0
spring-data-neo4j (1)
He intentado obtener WrappingNeoServerBootstrapper para iniciar la interfaz Neo4j WebAdmin en 0.0.0.0 en lugar de localhost. Intenté todo desde JAVA_OPTS (por ejemplo, -Dorg.neo4j.server.webserver.address = 0.0.0.0), hasta pasar mi propia configuración en el segundo argumento constructor de WrappingNeoServerBootstrapper, pero siempre escucha en localhost. Esperando que alguien tenga soluciones o un ejemplo. Aquí está mi configuración de Spring: volver a lo básico. Gracias por adelantado.
<bean id="graphDatabaseService" class="org.neo4j.kernel.EmbeddedGraphDatabase" destroy-method="shutdown">
<constructor-arg index="0" value="${com.calendr.neo4jDataDir}"/>
<constructor-arg index="1">
<map>
<entry key="allow_store_upgrade" value="true"/>
<entry key="enable_remote_shell" value="true"/>
</map>
</constructor-arg>
</bean>
<bean id="serverWrapper" class="org.neo4j.server.WrappingNeoServerBootstrapper" init-method="start" destroy-method="stop">
<constructor-arg ref="graphDatabaseService"/>
</bean>
Lo descubrí después de leer el código Neo. Aquí está mi configuración de trabajo final.
<neo4j:config graphDatabaseService="graphDatabaseService"/>
<bean id="graphDatabaseService" class="org.neo4j.kernel.EmbeddedGraphDatabase" destroy-method="shutdown">
<constructor-arg index="0" value="${com.mycompany.neo4jDataDir}"/>
<constructor-arg index="1">
<map>
<entry key="allow_store_upgrade" value="true"/>
<entry key="enable_remote_shell" value="true"/>
</map>
</constructor-arg>
</bean>
<bean id="config" class="com.mycompany.Neo4jServerConfig">
<constructor-arg>
<map>
<entry key="org.neo4j.server.webserver.address" value="0.0.0.0"/>
</map>
</constructor-arg>
</bean>
<bean id="serverWrapper" class="org.neo4j.server.WrappingNeoServerBootstrapper" init-method="start" destroy-method="stop">
<constructor-arg index="0" ref="graphDatabaseService"/>
<constructor-arg index="1" ref="config"/>
</bean>
Y aquí está la clase de configuración:
public class Neo4jServerConfig implements Configurator {
private Configuration config;
public Ne4jServerConfig(Map<String, String> config) {
this.config = new MapConfiguration(config);
}
@Override
public Configuration configuration() {
return config;
}
@Override
public Map<String, String> getDatabaseTuningProperties() {
return null;
}
@Override
public Set<ThirdPartyJaxRsPackage> getThirdpartyJaxRsClasses() {
return new HashSet<>();
}
}