<!--
This is the configuration file for the carbon event broker component. this configuration file configures the various subsystems of the event
broker component and parameters.
-->
<eventBrokerConfig xmlns="http://wso2.org/carbon/event/broker">
    <eventBroker name="carbonEventBroker" class="org.wso2.carbon.andes.event.core.internal.CarbonEventBrokerFactory">
        <!-- topic manager implementation class.-->
        <topicManager name="TopicManager"
                      class="org.wso2.carbon.andes.event.core.internal.subscription.registry.RegistryTopicManagerServiceFactory">
            <!-- root node of the topic tree -->
            <topicStoragePath>event/topics</topicStoragePath>
        </topicManager>
        <!-- subscription manager implementation. subscription manager persist the
        subscriptions at the registry.  users can configure the topics root node and the topicIndex path -->
        <subscriptionManager name="subscriptionManager"
                             class="org.wso2.carbon.andes.event.core.internal.subscription.registry.RegistrySubscriptionManagerFactory">
            <topicStoragePath>event/topics</topicStoragePath>
            <indexStoragePath>event/topicIndex</indexStoragePath>
        </subscriptionManager>
        <!-- delivery manager implementation. delivery manager does actual delivery part of the event broker -->
        <deliveryManager name="deliveryManager"
                         class="org.wso2.carbon.andes.event.core.internal.delivery.jms.QpidJMSDeliveryManagerFactory"
                         type="local">
            <!--  <remoteMessageBroker>
                 <hostName>localhost</hostName>
                 <servicePort>9443</servicePort>
                 <webContext>/</webContext>
                 <userName>admin</userName>
                 <password>admin</password>
                 <qpidPort>5672</qpidPort>
                 <clientID>clientID</clientID>
                 <virtualHostName>carbon</virtualHostName>
             </remoteMessageBroker> -->
        </deliveryManager>

        <!-- when publishing an event event broker uses a separate thread pool with an executor. following parameters configure different parameters of that -->
        <eventPublisher>
            <minSpareThreads>5</minSpareThreads>
            <maxThreads>50</maxThreads>
            <maxQueuedRequests>1000</maxQueuedRequests>
            <keepAliveTime>1000</keepAliveTime>
        </eventPublisher>
    </eventBroker>
</eventBrokerConfig>
