public boolean isRunning() { return server != null && server.getDatabase() != null && server.getDatabase().isRunning(); }
private void doShutdown() { if ( server != null ) { server.stop(); } if ( userLogFileStream != null ) { closeUserLogFileStream(); } }
public void start() { this.server.start(); this.connectorPortRegister = connectorPortRegister( server ); }
public FunctionalTestHelper( NeoServer server ) { if ( server.getDatabase() == null ) { throw new RuntimeException( "Server must be started before using " + getClass().getName() ); } this.helper = new GraphDbHelper( server.getDatabase() ); this.server = server; this.request = new RestRequest( server.baseUri().resolve( "db/data/" ) ); }
public Collection<Injectable<?>> initializePackages( Iterable<String> packageNames ) { GraphDatabaseAPI graphDatabaseService = neoServer.getDatabase().getGraph(); Config configuration = neoServer.getConfig(); Collection<Injectable<?>> injectables = new HashSet<>(); for ( PluginLifecycle lifecycle : lifecycles ) { if ( hasPackage( lifecycle, packageNames ) ) { if ( lifecycle instanceof SPIPluginLifecycle ) { SPIPluginLifecycle lifeCycleSpi = (SPIPluginLifecycle) lifecycle; injectables.addAll( lifeCycleSpi.start( neoServer ) ); } else { injectables.addAll( lifecycle.start( graphDatabaseService, new ConfigAdapter( configuration ) ) ); } } } return injectables; }
server.start(); " Another process may be using database location " + server.getDatabase().getLocation(); log.error( format( "Failed to start Neo4j on %s.", serverAddress ) + locationMsg, tfe ); return GRAPH_DATABASE_STARTUP_ERROR_CODE;
@Test public void shouldLoadThirdPartyJaxRsClasses() throws Exception { server = CommunityServerBuilder.serverOnRandomPorts() .withThirdPartyJaxRsPackage( "org.dummy.web.service", DummyThirdPartyWebService.DUMMY_WEB_SERVICE_MOUNT_POINT ) .usingDataDir( folder.directory( name.getMethodName() ).getAbsolutePath() ) .build(); server.start(); URI thirdPartyServiceUri = new URI( server.baseUri() .toString() + DummyThirdPartyWebService.DUMMY_WEB_SERVICE_MOUNT_POINT ).normalize(); String response = CLIENT.resource( thirdPartyServiceUri.toString() ) .get( String.class ); assertEquals( "hello", response ); // Assert that extensions gets initialized int nodesCreated = createSimpleDatabase( server.getDatabase().getGraph() ); thirdPartyServiceUri = new URI( server.baseUri() .toString() + DummyThirdPartyWebService.DUMMY_WEB_SERVICE_MOUNT_POINT + "/inject-test" ).normalize(); response = CLIENT.resource( thirdPartyServiceUri.toString() ) .get( String.class ); assertEquals( String.valueOf( nodesCreated ), response ); }
@Override public Configuration config() { return server.getConfig(); }
public URI baseUri() { return server.baseUri(); }
@Test public void givenExplicitlyDisabledServerLoggingConfigurationShouldNotLogAccesses() throws Exception { // given String directoryPrefix = testName.getMethodName(); File logDirectory = testDirectory.directory( directoryPrefix + "-logdir" ); NeoServer server = serverOnRandomPorts().withDefaultDatabaseTuning().persistent() .withProperty( ServerSettings.http_logging_enabled.name(), Settings.FALSE ) .withProperty( GraphDatabaseSettings.logs_directory.name(), logDirectory.toString() ) .withProperty( new BoltConnector( "bolt" ).listen_address.name(), ":0" ) .usingDataDir( testDirectory.directory( directoryPrefix + "-dbdir" ).getAbsolutePath() ) .build(); try { server.start(); FunctionalTestHelper functionalTestHelper = new FunctionalTestHelper( server ); // when String query = "?implicitlyDisabled" + randomString(); JaxRsResponse response = new RestRequest().get( functionalTestHelper.managementUri() + query ); assertThat( response.getStatus(), is( HttpStatus.SC_OK ) ); response.close(); // then File httpLog = new File( logDirectory, "http.log" ); assertThat( httpLog.exists(), is( false ) ); } finally { server.stop(); } }
server.start(); " Another process may be using database location " + server.getDatabase().getLocation(); log.error( format( "Failed to start Neo4j on %s.", serverAddress ) + locationMsg, tfe ); return GRAPH_DATABASE_STARTUP_ERROR_CODE;
private StatsCollector createStatsCollector() { String disable = neoServer.getConfig().getRaw().get("com.graphaware.runtime.stats.disable"); String disabled = neoServer.getConfig().getRaw().get("com.graphaware.runtime.stats.disabled"); if (Boolean.parseBoolean(disable) || Boolean.parseBoolean(disabled)) { LOG.info("Google Analytics disabled"); return NullStatsCollector.getInstance(); } else { LOG.info("Google Analytics enabled"); } return new GoogleAnalyticsStatsCollector(neoServer.getDatabase().getGraph()); }
private Optional<URI> httpConnectorUri( String scheme, Encryption encryption ) { return server.getConfig() .enabledHttpConnectors() .stream() .filter( connector -> connector.encryptionLevel() == encryption ) .findFirst() .map( connector -> connectorUri( scheme, connector ) ); }
public String managementUri() { return server.baseUri() .toString() + "db/manage"; }
@Override public GraphDatabaseService graph() { return server.getDatabase().getGraph(); }
private static synchronized void shutdown() { allocation = null; try { if ( server != null ) { server.stop(); } } finally { builder = null; server = null; } }
@Test public void givenExplicitlyEnabledServerLoggingConfigurationShouldLogAccess() throws Exception { // given String directoryPrefix = testName.getMethodName(); File logDirectory = testDirectory.directory( directoryPrefix + "-logdir" ); final String query = "?explicitlyEnabled=" + randomString(); NeoServer server = serverOnRandomPorts().withDefaultDatabaseTuning().persistent() .withProperty( ServerSettings.http_logging_enabled.name(), Settings.TRUE ) .withProperty( GraphDatabaseSettings.logs_directory.name(), logDirectory.getAbsolutePath() ) .withProperty( new BoltConnector( "bolt" ).listen_address.name(), ":0" ) .usingDataDir( testDirectory.directory( directoryPrefix + "-dbdir" ).getAbsolutePath() ) .build(); try { server.start(); FunctionalTestHelper functionalTestHelper = new FunctionalTestHelper( server ); // when JaxRsResponse response = new RestRequest().get( functionalTestHelper.managementUri() + query ); assertThat( response.getStatus(), is( HttpStatus.SC_OK ) ); response.close(); // then File httpLog = new File( logDirectory, "http.log" ); assertEventually( "request appears in log", fileContentSupplier( httpLog ), containsString( query ), 5, TimeUnit.SECONDS ); } finally { server.stop(); } }
@Test public void shouldBeAbleToRestartServer() throws Exception { // Given String dbDirectory1 = baseDir.directory( "db1" ).getAbsolutePath(); String dbDirectory2 = baseDir.directory( "db2" ).getAbsolutePath(); Config config = new BaseServerConfigLoader().loadConfig( null, AdvancedServerBuilder .server() .withDefaultDatabaseTuning() .usingDatabaseDir( dbDirectory1 ) .createPropertiesFiles(), NullLog.getInstance() ); // When NeoServer server = cleanup.add( new AdvancedNeoServer( config, graphDbDependencies(), NullLogProvider.getInstance() ) ); server.start(); assertNotNull( server.getDatabase().getGraph() ); assertEquals( dbDirectory1, server.getDatabase().getLocation() ); // Change the database location config.augment( stringMap( Configurator.DATABASE_LOCATION_PROPERTY_KEY, dbDirectory2 ) ); ServerManagement bean = new ServerManagement( server ); bean.restartServer(); // Then assertNotNull( server.getDatabase().getGraph() ); assertEquals( dbDirectory2, server.getDatabase().getLocation() ); }
private static NeoServer createServer( CommunityServerBuilder builder, boolean persistent, File path ) throws IOException { if ( persistent ) { builder = builder.persistent(); } builder.onRandomPorts(); NeoServer server = builder .usingDataDir( path != null ? path.getAbsolutePath() : null ) .build(); server.start(); return server; }