Search in sources :

Example 1 with PreferenceStoreUpdaterImpl

use of org.apache.qpid.server.store.preferences.PreferenceStoreUpdaterImpl in project qpid-broker-j by apache.

the class BrokerImpl method performActivation.

private void performActivation() {
    final DescendantScope descendantScope = getContextValue(DescendantScope.class, BROKER_FAIL_STARTUP_WITH_ERRORED_CHILD_SCOPE);
    List<ConfiguredObject<?>> failedChildren = getChildrenInState(this, State.ERRORED, descendantScope);
    if (!failedChildren.isEmpty()) {
        for (ConfiguredObject<?> o : failedChildren) {
            LOGGER.warn("{} child object '{}' of type '{}' is {}", o.getParent().getCategoryClass().getSimpleName(), o.getName(), o.getClass().getSimpleName(), State.ERRORED);
        }
        getEventLogger().message(BrokerMessages.FAILED_CHILDREN(failedChildren.toString()));
    }
    _documentationUrl = getContextValue(String.class, QPID_DOCUMENTATION_URL);
    final boolean brokerShutdownOnErroredChild = getContextValue(Boolean.class, BROKER_FAIL_STARTUP_WITH_ERRORED_CHILD);
    if (!_parent.isManagementMode() && brokerShutdownOnErroredChild && !failedChildren.isEmpty()) {
        throw new IllegalStateException(String.format("Broker context variable %s is set and the broker has %s children", BROKER_FAIL_STARTUP_WITH_ERRORED_CHILD, State.ERRORED));
    }
    updateAccessControl();
    _houseKeepingTaskExecutor = new HousekeepingExecutor("broker-" + getName() + "-pool", getHousekeepingThreadCount(), getSystemTaskSubject("Housekeeping", _principal));
    initialiseStatisticsReporting();
    scheduleDirectMemoryCheck();
    _assignTargetSizeSchedulingFuture = scheduleHouseKeepingTask(getHousekeepingCheckPeriod(), TimeUnit.MILLISECONDS, this::assignTargetSizes);
    final PreferenceStoreUpdaterImpl updater = new PreferenceStoreUpdaterImpl();
    final Collection<PreferenceRecord> preferenceRecords = _preferenceStore.openAndLoad(updater);
    _preferenceTaskExecutor = new TaskExecutorImpl("broker-" + getName() + "-preferences", null);
    _preferenceTaskExecutor.start();
    PreferencesRecoverer preferencesRecoverer = new PreferencesRecoverer(_preferenceTaskExecutor);
    preferencesRecoverer.recoverPreferences(this, preferenceRecords, _preferenceStore);
    if (isManagementMode()) {
        _eventLogger.message(BrokerMessages.MANAGEMENT_MODE(SystemConfig.MANAGEMENT_MODE_USER_NAME, _parent.getManagementModePassword()));
    }
    setState(State.ACTIVE);
}
Also used : HousekeepingExecutor(org.apache.qpid.server.util.HousekeepingExecutor) TaskExecutorImpl(org.apache.qpid.server.configuration.updater.TaskExecutorImpl) PreferenceRecord(org.apache.qpid.server.store.preferences.PreferenceRecord) PreferenceStoreUpdaterImpl(org.apache.qpid.server.store.preferences.PreferenceStoreUpdaterImpl) PreferencesRecoverer(org.apache.qpid.server.store.preferences.PreferencesRecoverer)

Example 2 with PreferenceStoreUpdaterImpl

use of org.apache.qpid.server.store.preferences.PreferenceStoreUpdaterImpl in project qpid-broker-j by apache.

the class AbstractVirtualHost method onActivate.

@StateTransition(currentState = { State.UNINITIALIZED, State.ERRORED }, desiredState = State.ACTIVE)
private ListenableFuture<Void> onActivate() {
    long threadPoolKeepAliveTimeout = getContextValue(Long.class, CONNECTION_THREAD_POOL_KEEP_ALIVE_TIMEOUT);
    final SuppressingInheritedAccessControlContextThreadFactory connectionThreadFactory = new SuppressingInheritedAccessControlContextThreadFactory("virtualhost-" + getName() + "-iopool", getSystemTaskSubject("IO Pool", getPrincipal()));
    _networkConnectionScheduler = new NetworkConnectionScheduler("virtualhost-" + getName() + "-iopool", getNumberOfSelectors(), getConnectionThreadPoolSize(), threadPoolKeepAliveTimeout, connectionThreadFactory);
    _networkConnectionScheduler.start();
    updateAccessControl();
    initialiseStatisticsReporting();
    MessageStore messageStore = getMessageStore();
    messageStore.openMessageStore(this);
    startFileSystemSpaceChecking();
    if (!(_virtualHostNode.getConfigurationStore() instanceof MessageStoreProvider)) {
        getEventLogger().message(getMessageStoreLogSubject(), MessageStoreMessages.CREATED());
        getEventLogger().message(getMessageStoreLogSubject(), MessageStoreMessages.STORE_LOCATION(messageStore.getStoreLocation()));
    }
    messageStore.upgradeStoreStructure();
    if (_linkRegistry != null) {
        _linkRegistry.open();
    }
    getBroker().assignTargetSizes();
    final PreferenceStoreUpdater updater = new PreferenceStoreUpdaterImpl();
    Collection<PreferenceRecord> records = _preferenceStore.openAndLoad(updater);
    _preferenceTaskExecutor = new TaskExecutorImpl("virtualhost-" + getName() + "-preferences", null);
    _preferenceTaskExecutor.start();
    PreferencesRecoverer preferencesRecoverer = new PreferencesRecoverer(_preferenceTaskExecutor);
    preferencesRecoverer.recoverPreferences(this, records, _preferenceStore);
    if (_createDefaultExchanges) {
        return doAfter(createDefaultExchanges(), new Runnable() {

            @Override
            public void run() {
                _createDefaultExchanges = false;
                postCreateDefaultExchangeTasks();
            }
        });
    } else {
        postCreateDefaultExchangeTasks();
        return Futures.immediateFuture(null);
    }
}
Also used : MessageStore(org.apache.qpid.server.store.MessageStore) PreferenceStoreUpdater(org.apache.qpid.server.store.preferences.PreferenceStoreUpdater) TaskExecutorImpl(org.apache.qpid.server.configuration.updater.TaskExecutorImpl) PreferenceRecord(org.apache.qpid.server.store.preferences.PreferenceRecord) SuppressingInheritedAccessControlContextThreadFactory(org.apache.qpid.server.pool.SuppressingInheritedAccessControlContextThreadFactory) MessageStoreProvider(org.apache.qpid.server.store.MessageStoreProvider) PreferenceStoreUpdaterImpl(org.apache.qpid.server.store.preferences.PreferenceStoreUpdaterImpl) PreferencesRecoverer(org.apache.qpid.server.store.preferences.PreferencesRecoverer) NetworkConnectionScheduler(org.apache.qpid.server.transport.NetworkConnectionScheduler)

Aggregations

TaskExecutorImpl (org.apache.qpid.server.configuration.updater.TaskExecutorImpl)2 PreferenceRecord (org.apache.qpid.server.store.preferences.PreferenceRecord)2 PreferenceStoreUpdaterImpl (org.apache.qpid.server.store.preferences.PreferenceStoreUpdaterImpl)2 PreferencesRecoverer (org.apache.qpid.server.store.preferences.PreferencesRecoverer)2 SuppressingInheritedAccessControlContextThreadFactory (org.apache.qpid.server.pool.SuppressingInheritedAccessControlContextThreadFactory)1 MessageStore (org.apache.qpid.server.store.MessageStore)1 MessageStoreProvider (org.apache.qpid.server.store.MessageStoreProvider)1 PreferenceStoreUpdater (org.apache.qpid.server.store.preferences.PreferenceStoreUpdater)1 NetworkConnectionScheduler (org.apache.qpid.server.transport.NetworkConnectionScheduler)1 HousekeepingExecutor (org.apache.qpid.server.util.HousekeepingExecutor)1