@Override
    protected void runCommand(final Bootstrap<Config> bootstrap,
                              final Namespace namespace,
                              final Config config,
                              final Injector injector) throws Exception {

        // Force guice to get all datasource instances from the multibinder
        // so the migration will be run for each stroom module
        // Relies on all db modules adding an entry to the multibinder
        getInstance(Key.get(GuiceUtil.setOf(DataSource.class)));

        LOGGER.debug("DB schema state verified");

        final SecurityContext securityContext = getInstance(SecurityContext.class);

        securityContext.asProcessingUser(LambdaExceptionUtil.rethrowRunnable(() ->
                runSecuredCommand(bootstrap, namespace, config, injector)));
    }
Abstract command that sets up a full application injector with access to all bindings.
stroom-app/src/main/java/stroom/app/commands/AbstractStroomAppCommand.java