@Override
    public void initialize( final XMPPServer server )
    {
        if ( executor != null )
        {
            throw new IllegalStateException( "Already initialized." );
        }
        executor = new ThreadPoolExecutor(
            EXECUTOR_CORE_POOL_SIZE.getValue(),
            EXECUTOR_MAX_POOL_SIZE.getValue(),
            EXECUTOR_POOL_KEEP_ALIVE.getValue().toSeconds(),
            TimeUnit.SECONDS,
            new SynchronousQueue<>(),
            new NamedThreadFactory( "archive-service-worker-", null, null, null ) );

        if (JMXManager.isEnabled()) {
            final ThreadPoolExecutorDelegateMBean mBean = new ThreadPoolExecutorDelegate(executor);
            objectName = JMXManager.tryRegister(mBean, ThreadPoolExecutorDelegateMBean.BASE_OBJECT_NAME + "archive-manager");
        }
    }
Initializes the manager, by instantiating a thread pool that is used to process archiving tasks.
xmppserver/src/main/java/org/jivesoftware/openfire/archive/ArchiveManager.java