serverRuntimeContext = new DefaultServerRuntimeContext(serverEntity, stanzaRelayBroker, serverFeatures, dictionaries, resourceRegistry);
serverRuntimeContext.setStorageProviderRegistry(storageProviderRegistry);
serverRuntimeContext.setTlsContextFactory(tlsContextFactory);
serverRuntimeContext.addModule(new ServiceDiscoveryModule());
serverRuntimeContext.addModule(new RosterModule());
stanzaRelayBroker.setServerRuntimeContext(serverRuntimeContext);
internalStanzaRelay.setServerRuntimeContext(serverRuntimeContext);
if (endpoints.size() == 0) throw new IllegalStateException("server must have at least one endpoint");