Class FFMQEngine

  • All Implemented Interfaces:
    FFMQEngineMBean

    public final class FFMQEngine
    extends Object
    implements FFMQEngineMBean

    Implementation of the core FFMQ engine.

    Typically created by an FFMQServer instance, but can also be created manually to be embedded directly in the using application JVM.

    • Method Detail

      • getDeployedInstance

        public static FFMQEngine getDeployedInstance​(String name)
                                              throws javax.jms.JMSException
        Get a deployed engine instance by name
        Throws:
        javax.jms.JMSException
      • checkDeployed

        protected void checkDeployed()
                              throws javax.jms.JMSException
        Check that the engine is running
        Throws:
        javax.jms.JMSException
      • deploy

        public void deploy()
                    throws javax.jms.JMSException
        Throws:
        javax.jms.JMSException
      • getDestinationTemplateProvider

        public DestinationTemplateProvider getDestinationTemplateProvider()
        Get the destination template provider associated to this engine
        Returns:
        the destination template provider associated to this engine
      • getTemplateMappingProvider

        public TemplateMappingProvider getTemplateMappingProvider()
        Get the template mapping provider associated to this engine
        Returns:
        the template mapping provider associated to this engine
      • undeploy

        public void undeploy()
      • openConnection

        public javax.jms.Connection openConnection​(String userName,
                                                   String password,
                                                   String clientID)
                                            throws javax.jms.JMSException
        Open a new connection
        Throws:
        javax.jms.JMSException
      • openQueueConnection

        public javax.jms.QueueConnection openQueueConnection​(String userName,
                                                             String password,
                                                             String clientID)
                                                      throws javax.jms.JMSException
        Open a new queue connection
        Throws:
        javax.jms.JMSException
      • openTopicConnection

        public javax.jms.TopicConnection openTopicConnection​(String userName,
                                                             String password,
                                                             String clientID)
                                                      throws javax.jms.JMSException
        Open a new topic connection
        Throws:
        javax.jms.JMSException
      • createTemporaryQueue

        public LocalQueue createTemporaryQueue​(String queueName)
                                        throws javax.jms.JMSException
        Deploy a new temporary queue on this engine
        Throws:
        javax.jms.JMSException
      • createQueue

        public LocalQueue createQueue​(QueueDefinition queueDef)
                               throws javax.jms.JMSException
        Deploy a new queue on this engine
        Throws:
        javax.jms.JMSException
      • createTemporaryTopic

        public LocalTopic createTemporaryTopic​(String topicName)
                                        throws javax.jms.JMSException
        Deploy a new temporary topic on this engine
        Throws:
        javax.jms.JMSException
      • createTopic

        public LocalTopic createTopic​(TopicDefinition topicDef)
                               throws javax.jms.JMSException
        Create a new topic
        Throws:
        javax.jms.JMSException
      • deleteQueue

        public void deleteQueue​(String queueName)
                         throws javax.jms.JMSException
        Undeploy a queue
        Throws:
        javax.jms.JMSException
      • deleteQueue

        public void deleteQueue​(String queueName,
                                boolean force)
                         throws javax.jms.JMSException
        Undeploy a queue
        Throws:
        javax.jms.JMSException
      • deleteTopic

        public void deleteTopic​(String topicName)
                         throws javax.jms.JMSException
        Undeploy a topic
        Throws:
        javax.jms.JMSException
      • getLocalQueue

        public LocalQueue getLocalQueue​(String queueName)
                                 throws javax.jms.JMSException
        Get a local queue by name
        Throws:
        javax.jms.JMSException
      • localQueueExists

        public boolean localQueueExists​(String queueName)
                                 throws javax.jms.JMSException
        Test if a local queue exists by name
        Throws:
        javax.jms.JMSException
      • getLocalTopic

        public LocalTopic getLocalTopic​(String topicName)
                                 throws javax.jms.JMSException
        Get a local topic by name
        Throws:
        javax.jms.JMSException
      • localTopicExists

        public boolean localTopicExists​(String topicName)
                                 throws javax.jms.JMSException
        Test if a local topic exists by name
        Throws:
        javax.jms.JMSException
      • subscribe

        public void subscribe​(String clientID,
                              String subscriptionName)
                       throws javax.jms.JMSException
        Throws:
        javax.jms.JMSException
      • unsubscribe

        public void unsubscribe​(String clientID,
                                String subscriptionName)
                         throws javax.jms.JMSException
        Unsubscribe a durable subscriber from all related topics
        Throws:
        javax.jms.JMSException
      • getNotificationAsyncTaskManager

        public AsyncTaskManager getNotificationAsyncTaskManager()
                                                         throws javax.jms.JMSException
        Get the engine async. notification task manager
        Returns:
        the engine async. notification task manager
        Throws:
        javax.jms.JMSException
      • getDeliveryAsyncTaskManager

        public AsyncTaskManager getDeliveryAsyncTaskManager()
                                                     throws javax.jms.JMSException
        Get the engine async. delivery task manager
        Returns:
        the engine async. delivery task manager
        Throws:
        javax.jms.JMSException
      • getDiskIOAsyncTaskManager

        public AsyncTaskManager getDiskIOAsyncTaskManager()
                                                   throws javax.jms.JMSException
        Get the engine async. disk I/O task manager
        Returns:
        the engine async. disk I/O task manager
        Throws:
        javax.jms.JMSException
      • getDestinationDefinitionProvider

        public DestinationDefinitionProvider getDestinationDefinitionProvider()
        Returns:
        the destinationDefinitionProvider