Class TibjmsAdmin

  • java.lang.Object
    • com.tibco.tibjms.admin.TibjmsAdmin

  • public class TibjmsAdmin
    extends java.lang.Object
    This is the main class for administering a TIBCO Enterprise Message Service server. To use this API, first create an instance of this class using one of the constructors. With that instance, one can retrieve information about the server and its components, as well as modify the server's configuration.
    All modifications to the server configuration are made through this class. For example, to change the description of a group, one would do the following:

     GroupInfo groupInfo = tibjmsAdmin.getGroup("groupName");
     groupInfo.setDescription("New Description");
     tibjmsAdmin.updateGroup(groupInfo);
     
    It is important to note that public constructors (such as those for TopicInfo and GroupInfo), will initialize internal variables. When updating the server be sure to populate objects entirely or retrieve them from the server first as in the example above to avoid any unintentional updates.
    • Constructor Summary

      Constructors 
      Constructor Description
      TibjmsAdmin​(java.lang.String url, java.lang.String userName, java.lang.String password)
      Creates an administrative connection.
      TibjmsAdmin​(java.lang.String url, java.lang.String userName, java.lang.String password, java.util.Map params)
      This constructor is used to create an administrative connection to the server.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      void activateDRSite()
      Inform the FTL servers at the Disaster Recovery (DR) site that their site of operations is now the new primary site.
      void addUsersToGroup​(java.lang.String groupName, java.lang.String[] userNames)
      Add the users for the given array of userNames to the group for the given groupName.
      void addUserToGroup​(java.lang.String groupName, java.lang.String userName)
      Add the user for the given userName to the group for the given groupName.
      void bind​(java.lang.String newName, java.lang.String existingName)
      Bind an object already bound to an existing JNDI name to a new JNDI name.
      void bindQueue​(java.lang.String name, java.lang.String queueName)
      Bind the queue for the given queue name to the given JNDI name.
      void bindTopic​(java.lang.String name, java.lang.String topicName)
      Bind the topic for the given topic name to the given JNDI name.
      void clearJACICache()
      Clear all entries out of the JACI results cache.
      void close()
      Close connection to the server.
      void commitTransaction​(TransactionInfo transaction)
      Commit the xa transaction.
      boolean compact​(int store, long timeout)
      Compact one of the server's store files until either no more compaction can be done or timeout seconds have elapsed, whichever occurs first.
      boolean compact​(java.lang.String name, long timeout)
      Compact one of the server's store files until either no more compaction can be done or timeout seconds have elapsed, whichever occurs first.
      void createCMListener​(CMListenerInfo cmListener)
      Create (pre-register) TIBCO Rendezvous certified listener.
      Configuration createConfiguration()
      Creates an empty configuration object that can be used to load configuration updates.
      void createConnectionFactory​(java.lang.String jndiName, ConnectionFactoryInfo cfi)
      Create a connection factory based on the given ConnectionFactoryInfo and bind it to the given name in the internal JNDI implementation.
      DestinationBridgeInfo createDestinationBridge​(DestinationBridgeInfo destBridge)
      Creates a destination bridge as specified by the DestinationBridgeInfo object.
      void createDurable​(java.lang.String topicName, java.lang.String durableName, java.lang.String clientID, java.lang.String selector, boolean nolocal, boolean route)
      Create the durable with given name and client ID.
      GroupInfo createGroup​(GroupInfo group)
      Create a group based on the information in the given GroupInfo.
      QueueInfo createQueue​(QueueInfo queue)
      Create a queue based on the parameters from the given QueueInfo.
      RouteInfo createRoute​(RouteInfo routeInfo)
      Create a new route.
      TopicInfo createTopic​(TopicInfo topic)
      Create a topic based on the parameters from the given TopicInfo.
      UserInfo createUser​(UserInfo user)
      Create a user based on the information in the given UserInfo.
      void deleteCMListener​(CMListenerInfo cmListener)
      Delete TIBCO Rendezvous certified listener.
      void destroyConnection​(long connectionID)
      Destoy the client connection for the given connectionID.
      void destroyConnectionFactory​(java.lang.String jndiName)
      Destroy the connection factory bound to the given JNDI name.
      void destroyDestinationBridge​(int sourceType, java.lang.String sourceName, int targetType, java.lang.String targetName)
      Destroy the destination bridge between a source and a target
      void destroyDurable​(java.lang.String durableName, java.lang.String clientID)
      Destroy the durable with given name and client ID.
      void destroyGroup​(java.lang.String groupName)
      Destroy the group for the given groupName.
      void destroyMessage​(java.lang.String messageID)
      Destroy the message for the given message ID.
      void destroyQueue​(java.lang.String queueName)
      Destroy the queue for the given queue name.
      void destroyQueues​(java.lang.String pattern)
      Destroy queues matching the given pattern.
      void destroyRoute​(java.lang.String name)
      Destroy the route with specified name.
      void destroyTopic​(java.lang.String topicName)
      Destroy the topic for the given topic name.
      void destroyTopics​(java.lang.String pattern)
      Destroy topics matching the given pattern.
      void destroyUser​(java.lang.String userName)
      Destroy the user for the given userName.
      void forceConfiguration​(Configuration configuration)
      Synchronize the current server with a provided Configuration such that upon success, the server configuration will be identical to the configuration provided.
      ACLEntry[] getACLEntries()
      Get all ACL entries for destinations.
      BridgeInfo getBridge​(int type, java.lang.String name)
      Get the bridge from a given destination.
      BridgeInfo[] getBridges()
      Get all the bridges known to the server.
      BridgeInfo[] getBridges​(int type, java.lang.String pattern)
      Get all the bridges known to the server where the source destination is of a given type and the source destination name matches the given pattern.
      ChannelInfo getChannel​(java.lang.String name)
      Deprecated.
      As of release 8.3
      ChannelInfo[] getChannels()
      Deprecated.
      As of release 8.3
      ChannelInfo getChannelStatistics​(java.lang.String name)
      Deprecated.
      As of release 8.3
      CMLedgerSubjectInfo[] getCMLedger​(java.lang.String pattern)
      Returns a summary of the contents of the ledger file of the server's default TIBCO Rendezvous certified messaging transport.
      CMLedgerSubjectInfo[] getCMLedger​(java.lang.String transport, java.lang.String pattern)
      Returns a summary of the contents of the transport's ledger file.
      CMListenerInfo[] getCMListeners()
      Get the TIBCO Rendezvous certified listeners explicitly created in the server configuration.
      long getCommandTimeout()
      Gets the command timeout in milliseconds.
      Configuration getConfiguration()
      Deprecated.
      deprecated in EMS 8.1.0, use getConfiguration(boolean)
      Configuration getConfiguration​(boolean reset)
      Returns the current server configuration in its entirety.
      ConnectionFactoryInfo[] getConnectionFactories()
      Get all connection factories in the server configuration.
      long getConnectionId()
      Get the connection id of the TibjmsAdmin object's connection to the server.
      ConnectionInfo[] getConnections()
      Returns all connections except system connections.
      ConnectionInfo[] getConnections​(java.lang.String username, java.lang.String hostname)
      Returns all client connections matching specified filters.
      ConsumerInfo getConsumer​(long consumerID)
      Returns consumer with specified ID.
      ConsumerInfo[] getConsumers()
      Returns all consumers in the server.
      ConsumerInfo[] getConsumers​(java.lang.Long connectionID, java.lang.String username, DestinationInfo destination, boolean durable, int dataFlags)
      Returns consumers matching specified filters.
      ConsumerInfo[] getConsumersStatistics()
      Get statistical information about all consumers.
      ConsumerInfo[] getConsumersStatistics​(java.lang.Long connectionID, java.lang.String username, DestinationInfo destination)
      Get statistical information about consumers with specified parameters.
      DestinationBridgeInfo getDestinationBridge​(int sourceType, java.lang.String sourceName, int targetType, java.lang.String targetName)
      Returns the destination bridge between a source and a target
      DestinationBridgeInfo[] getDestinationBridges​(int sourceType, java.lang.String sourcePattern)
      Get the destination bridges for all source destinations that match the given source type and source pattern.
      DurableInfo getDurable​(java.lang.String durableName, java.lang.String clientID)
      Get the durable subscription information for the given durable name and clientID.
      DurableInfo[] getDurables()
      Get the durable subscription information for all durables known to the server.
      DurableInfo[] getDurables​(java.lang.String topicName)
      Deprecated.
      this method remains fully functional but in EMS 4.4 the preferred way to obtain consumer information is via method getConsumers(Long,String,DestinationInfo,boolean,int)
      GroupInfo getGroup​(java.lang.String groupName)
      Get the group for the given name.
      ACLEntry[] getGroupACLEntries​(java.lang.String groupName)
      Get all permissions on destinations for specified group.
      GroupInfo[] getGroups()
      Get all the groups known to the server.
      ServerInfo getInfo()
      Get the current set of server configuration and metrics.
      JACIInfo getJACIInfo()
      Get statistics on the JACI permissions cache.
      Message getMessage​(java.lang.String messageID)
      Get the message for the given message ID.
      Message[] getMessages​(java.lang.String correlationID)
      Get the messages that have the given correlation ID.
      java.lang.Object[] getPermissions()
      Get all permission entries.
      java.lang.Object[] getPermissions​(UserInfo target, int flags)
      Get user permissions based on the flags set.
      java.lang.Object[] getPermissions​(java.lang.Object target)
      Get all permission entries for specified target.
      ProducerInfo[] getProducersStatistics()
      Returns statistical information about all producers.
      ProducerInfo[] getProducersStatistics​(java.lang.Long connectionID, java.lang.String username, DestinationInfo destination)
      Get the statistical information about producers with specified parameters.
      QueueInfo getQueue​(java.lang.String queueName)
      Get the queue for the given queue name.
      ACLEntry[] getQueueACLEntries​(java.lang.String queueName)
      Get all ACL entries pertaining to the queue with the given queueName.
      QueueInfo[] getQueues()
      Get the info for all the queues that are known to the server.
      QueueInfo[] getQueues​(java.lang.String pattern)
      Get the info for the queues that match the given pattern.
      QueueInfo[] getQueues​(java.lang.String pattern, int permType)
      Get the info for the queues that match the given pattern and the given permanence type.
      QueueInfo[] getQueues​(java.lang.String pattern, int permType, int cursorPosition, int cursorSize)
      Get the info for the queues that match the given pattern and the given permanence type.
      QueueInfo[] getQueuesStatistics()
      Get the statistical information about all queues.
      QueueInfo[] getQueuesStatistics​(java.lang.String pattern)
      Get the statistical information for the queues that match the given pattern.
      QueueInfo[] getQueuesStatistics​(java.lang.String pattern, int cursorPosition, int cursorSize)
      Get the statistical information for the queues that match the given pattern.
      RouteInfo getRoute​(java.lang.String name)
      Returns route information or null if such route does not exist.
      RouteInfo[] getRoutes()
      Returns all routes known to the server.
      RouteInfo getRouteStatistics​(java.lang.String name)
      Returns statistical information about the route with specified name.
      StateInfo getStateInfo()
      Get the current FT state of the server, along with its name, pid, version and whether or not it is running in an appliance.
      StoreInfo getStoreInfo​(int type)
      Deprecated.
      As of EMS 6.1.0, replaced by getStoreInfo(String)
      StoreInfo getStoreInfo​(java.lang.String name)
      Get information about a store.
      java.lang.String[] getStores()
      Get a list of configured stores.
      SubscriptionInfo[] getSubscriptions()
      Returns all subscriptions in the server.
      SubscriptionInfo[] getSubscriptions​(int filterFlags, java.lang.String name, java.lang.String topicName)
      Returns subscriptions matching specified filters.
      SubscriptionInfo[] getSubscriptions​(java.lang.String name, TopicInfo topic, int filterFlags)
      Deprecated.
      ConnectionInfo[] getSystemConnections()
      Returns all system connections.
      TopicInfo getTopic​(java.lang.String topicName)
      Get the topic for the given topic name.
      ACLEntry[] getTopicACLEntries​(java.lang.String topicName)
      Get all ACL entries pertaining to the topic with the given topicName.
      TopicInfo[] getTopics()
      Get the info for all the topics that are known to the server.
      TopicInfo[] getTopics​(java.lang.String pattern)
      Get the info for the topics that match the given pattern.
      TopicInfo[] getTopics​(java.lang.String pattern, int permType)
      Get the info for the topics that match the given pattern and the given permanence type.
      TopicInfo[] getTopics​(java.lang.String pattern, int permType, int cursorPosition, int cursorSize)
      Get the info for the topics that match the given pattern and the given permanence type.
      TopicInfo[] getTopicsStatistics()
      Get the statistical information for all topics.
      TopicInfo[] getTopicsStatistics​(java.lang.String pattern)
      Get the statistical information for the topics that match the given pattern.
      TopicInfo[] getTopicsStatistics​(java.lang.String pattern, int cursorPosition, int cursorSize)
      Get the statistical information for the topics that match the given pattern.
      java.lang.String[] getTraceBuffer​(boolean clear)
      Reserved for internal provider use only - Do not use this method.
      DetailedTransactionInfo getTransaction​(TransactionInfo transaction)
      Get a specific xa transaction.
      TransactionInfo[] getTransactions()
      Get all the xa transactions known to the server.
      TransportInfo getTransport​(java.lang.String transportName)
      Get the transport with a given name.
      TransportInfo[] getTransports()
      Get all the transports known to the server.
      UserInfo getUser​(java.lang.String userName)
      Get the user for the given username.
      ACLEntry[] getUserACLEntries​(java.lang.String userName)
      Get all ACL entries pertaining to the user with the given userName.
      UserInfo[] getUsers()
      Get the array of all UserInfos known to the server.
      void grant​(ACLEntry entry)
      Grant the permissions specified in the given ACLEntry.
      void grant​(ACLEntry[] acls)
      Grant the permissions specified in the given ACLEntries.
      void grant​(AdminACLEntry entry)
      Grant the administrative permissions.
      boolean isAutoSave()
      Returns true if server configuration is saved in the configuration files on disk after each change.
      boolean isRestartRequired()
      Query a server to determine whether a restart is required to complete state changes.
      java.lang.Object lookup​(java.lang.String name)
      Retrieve that administrative object bound to the given JNDI name.
      static java.lang.String manglePassword​(java.lang.String password)
      Mangles a password for use with EMS.
      void purgeDurable​(java.lang.String durableName, java.lang.String clientID)
      Purge pending messages for the durable with given name and client ID.
      void purgeQueue​(java.lang.String queueName)
      Purge pending messages from the queue for the given name.
      void purgeQueues​(java.lang.String pattern)
      Purge pending messages from the queues matching the given pattern.
      void purgeTopic​(java.lang.String topicName)
      Purge pending messages from the topic for the given name.
      void purgeTopics​(java.lang.String pattern)
      Purge pending messages from topics matching the given pattern.
      void removeUserFromGroup​(java.lang.String groupName, java.lang.String userName)
      Remove the user for the given userName from the group for the given groupName.
      void removeUsersFromGroup​(java.lang.String groupName, java.lang.String[] userNames)
      Remove the users for the given array of userNames from the group for the given groupName.
      void resetJACIStats()
      Reset all JACI statistics counters to zero.
      void restart()
      Deprecated.
      As of release 8.2.2
      void revoke​(ACLEntry entry)
      Revoke the permissions specified in the given ACLEntry.
      void revoke​(ACLEntry[] acls)
      Revoke the permissions specified in the given ACLEntries.
      void revoke​(AdminACLEntry entry)
      Revoke the administrative permissions.
      void rollbackTransaction​(TransactionInfo transaction)
      Roll the xa transaction back.
      void rotateLog()
      Rotate server's log file.
      void saveAndExit()
      When using in-memory replication with FTL stores, save the state of each server to disk and exit.
      void saveConfiguration()
      Save any configuration changes to the server's config files.
      void setAutoSave​(boolean enabled)
      Set if configuration changes should be immediately saved by the server into the configuration files on disk.
      void setCommandTimeout​(long value)
      Sets the command timeout.
      void setExceptionListener​(ExceptionListener listener)
      Sets an exception listener for the connection used by the admin api to communicate with the EMS server.
      void setupDRSite​(java.lang.String urlList)
      Establish a new Disaster Recovery (DR) site after the original DR site has become the new primary site.
      void shutdown()
      Shutdown the server.
      void synchronizeConfiguration​(Configuration configuration)
      Synchronize the current server with a provided Configuration such that upon success, the server configuration will be identical to the configuration provided.
      void testConfiguration​(Configuration configuration)
      Test the current server with a provided Configuration to determine if the server will accept it.
      void unbind​(java.lang.String name)
      Remove the binding between the given JNDI name and the object bound to it.
      static java.lang.String unmanglePassword​(java.lang.String mangledPassword)
      Unmangles a password mangled by EMS.
      void updateConnectionFactory​(java.lang.String jndiName, ConnectionFactoryInfo cfi)
      Save changes to the connection factory stored at the given JNDI name using information from the given ConnectionFactoryInfo.
      void updateCRL()
      Update server's CRL.
      void updateGroup​(GroupInfo groupInfo)
      Save changes made to the given GroupInfo.
      void updateQueue​(QueueInfo queue)
      Change the properties of the queue corresponding to the given QueueInfo.
      void updateRoute​(RouteInfo routeInfo)
      Update route parameters.
      void updateServer​(ServerInfo info)
      Update the server configuration.
      void updateTopic​(TopicInfo topic)
      Change the properties of the topic corresponding to the given TopicInfo.
      void updateUser​(UserInfo userInfo)
      Save changes made to the given UserInfo.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TibjmsAdmin

        public TibjmsAdmin​(java.lang.String url,
                           java.lang.String userName,
                           java.lang.String password)
                    throws TibjmsAdminException
        Creates an administrative connection.
        Parameters:
        url - The URL of the server to administer.
        userName - Name of the administrator user.
        password - User password.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • TibjmsAdmin

        public TibjmsAdmin​(java.lang.String url,
                           java.lang.String userName,
                           java.lang.String password,
                           java.util.Map params)
                    throws TibjmsAdminException
        This constructor is used to create an administrative connection to the server. Use this constructor if the connection to the server needs to use TLS and/or when the EMS server is configured with OAuth 2.0 authentication.

        When using OAuth 2.0 authentication, the 'userName' parameter determines the grant type used to obtain access tokens from the authorization server. If the parameter value is null, the client credentials grant is used, otherwise the resource owner password credentials grant is used with 'userName' and 'password' parameter values serving as the user and password credentials for the grant.
        Parameters:
        url - The URL of the server to administer.
        userName - Name of the administrator user.
        password - User password.
        params - The parameters used for the TLS connection or for OAuth 2.0. See the documentation of the com.tibco.tibjms.TibjmsSSL class for valid TLS parameters and com.tibco.com.tibjms.Tibjms for valid OAuth 2.0 parameters.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
    • Method Detail

      • close

        public void close()
                   throws TibjmsAdminException
        Close connection to the server. After connection is closed the TibjmsAdmin object should no longer be used.
        Throws:
        TibjmsAdminException - if an error occurred.
      • getCommandTimeout

        public long getCommandTimeout()
        Gets the command timeout in milliseconds. If the server does not respond to a command within specified timeout the command thows exception. Default value is 60000 (60 seconds).
        Returns:
        the current timeout in milliseconds.
      • setCommandTimeout

        public void setCommandTimeout​(long value)
                               throws java.lang.IllegalArgumentException
        Sets the command timeout. If the server does not respond to a command within specified timeout the command thows exception. Default value is 60000 (60 seconds). Minimum value accepted is 5000 (5 seconds).
        Parameters:
        value - new timeout in milliseconds.
        Throws:
        java.lang.IllegalArgumentException - if value is less than 5000ms.
      • saveConfiguration

        public void saveConfiguration()
                               throws TibjmsAdminException
        Save any configuration changes to the server's config files. This call is necessary when auto save mode is not set.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • setAutoSave

        public void setAutoSave​(boolean enabled)
        Set if configuration changes should be immediately saved by the server into the configuration files on disk. If auto save is turned off, the application should call saveConfiguration() method in order to save all changes in the configuration files. If auto save is turned on, the server updates the configuration files on disk after every change and calls to saveConfiguration() are not required.
        Parameters:
        enabled - true if chages should be saved after every change in the configuration.
      • isAutoSave

        public boolean isAutoSave()
        Returns true if server configuration is saved in the configuration files on disk after each change. If auto save mode is turned off, the application should call saveConfiguration() method in order to save the changes in the configuration files.
        Returns:
        true if configuration is saved in the files after every change.
      • getInfo

        public ServerInfo getInfo()
                           throws TibjmsAdminException
        Get the current set of server configuration and metrics.
        Returns:
        a ServerInfo object containing the current configuration and metrics for the server.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • getStateInfo

        public StateInfo getStateInfo()
                               throws TibjmsAdminException
        Get the current FT state of the server, along with its name, pid, version and whether or not it is running in an appliance.
        Returns:
        a StateInfo object containing the current FT state of the server and its name, pid, version and whether or not it is running in an appliance or null if the server does not support this method (EMS 8.0 and earlier).
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 8.1.0
      • updateServer

        public void updateServer​(ServerInfo info)
                          throws TibjmsAdminException,
                                 java.lang.IllegalArgumentException
        Update the server configuration.
        Parameters:
        info - a ServerInfo object containing the changed configuration parameters.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        java.lang.IllegalArgumentException - if ServerInfo object is null.
      • shutdown

        public void shutdown()
                      throws TibjmsAdminException
        Shutdown the server. This causes the connection to the server to be lost, so subsequent calls to this object will fail with the exception of close() method.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • createCMListener

        public void createCMListener​(CMListenerInfo cmListener)
                              throws TibjmsAdminException,
                                     java.lang.IllegalArgumentException
        Create (pre-register) TIBCO Rendezvous certified listener.
        Parameters:
        cmListener - the certified listener to be created (pre-registered).
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        java.lang.IllegalArgumentException - if CMListenerInfo object is null.
      • deleteCMListener

        public void deleteCMListener​(CMListenerInfo cmListener)
                              throws TibjmsAdminException,
                                     java.lang.IllegalArgumentException
        Delete TIBCO Rendezvous certified listener.
        Parameters:
        cmListener - the certified listener to be deleted.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        java.lang.IllegalArgumentException - if cmListener is null.
      • getCMListeners

        public CMListenerInfo[] getCMListeners()
                                        throws TibjmsAdminException
        Get the TIBCO Rendezvous certified listeners explicitly created in the server configuration.
        Returns:
        array of CMListenerInfo objects.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • getCMLedger

        public CMLedgerSubjectInfo[] getCMLedger​(java.lang.String pattern)
                                          throws TibjmsAdminException
        Returns a summary of the contents of the ledger file of the server's default TIBCO Rendezvous certified messaging transport. If the server uses multiple named transports then use the getCMLedger(String transport, String pattern) method to query the ledger for the given transport. Specifying a pattern limits the scope of the query to only those Rendezvous subjects matching the pattern. The pattern may contain the wildcards "*" and ">". See the Tibjms documentation for how wildcards work. A pattern of "", ">", or null will return information on all the subjects in the ledger file.
        Parameters:
        pattern - a pattern indicating which subjects are of interest.
        Returns:
        array of CMLedgerSubjectInfo objects that match the given pattern.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • getCMLedger

        public CMLedgerSubjectInfo[] getCMLedger​(java.lang.String transport,
                                                 java.lang.String pattern)
                                          throws TibjmsAdminException
        Returns a summary of the contents of the transport's ledger file. Specifying a pattern limits the scope of the query to only those Rendezvous subjects matching the pattern. The pattern may contain the wildcards "*" and ">". See the Tibjms documentation for how wildcards work. A pattern of "", ">", or null will return information on all the subjects in the ledger file.
        Parameters:
        transport - the name of the transport whose ledger file is to be summarized.
        pattern - a pattern indicating which subjects are of interest.
        Returns:
        array of CMLedgerSubjectInfo objects that match the given pattern.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • getRoute

        public RouteInfo getRoute​(java.lang.String name)
                           throws TibjmsAdminException,
                                  TibjmsAdminInvalidNameException
        Returns route information or null if such route does not exist. Notice returned object does not contain statistical data for the route. Use getRouteStatistics() method to obtain statistical information about the route.
        Parameters:
        name - name of the route.
        Returns:
        RouteInfo object or null if route with such name does not exist.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        TibjmsAdminInvalidNameException - if name is not a legal route name.
      • getRoutes

        public RouteInfo[] getRoutes()
                              throws TibjmsAdminException
        Returns all routes known to the server. Notice returned objects do not contain statistical data for the routes. Use getRouteStatistics() method to obtain statistical information about the route.
        Returns:
        all routes known to the server.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • createRoute

        public RouteInfo createRoute​(RouteInfo routeInfo)
                              throws TibjmsAdminException,
                                     java.lang.IllegalArgumentException
        Create a new route.
        Parameters:
        routeInfo - The parameters for the new route.
        Returns:
        the fully configured RouteInfo from the server.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        java.lang.IllegalArgumentException - if routeInfo is null.
        TibjmsAdminInvalidNameException - if RouteInfo object does not have a legal name and url.
      • updateRoute

        public void updateRoute​(RouteInfo routeInfo)
                         throws TibjmsAdminException,
                                java.lang.IllegalArgumentException
        Update route parameters. This method can only be used to update a route that already exists on the server. To create a new route use the createRoute(com.tibco.tibjms.admin.RouteInfo) method.
        Parameters:
        routeInfo - The route info to save.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        java.lang.IllegalArgumentException
      • getConnections

        public ConnectionInfo[] getConnections()
                                        throws TibjmsAdminException
        Returns all connections except system connections. System connections are connections to other servers.
        Returns:
        all the (non-system) connections known to the server.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • getConnections

        public ConnectionInfo[] getConnections​(java.lang.String username,
                                               java.lang.String hostname)
                                        throws TibjmsAdminException
        Returns all client connections matching specified filters. Returned array may be of 0 length if there are no connections in the server which match specified filters. All filters may be omitted by specifying null value.
        Parameters:
        username - if specified, only connections with specific user name will be returned. Specify null if connections for all users should be returned.
        hostname - if specified, only connections created from this specific host name or IP address will be returned. Specify null if connections from all hosts should be returned.
        Returns:
        An array of all non-system connections matching the filters, or a zero length array.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 4.4
      • getSystemConnections

        public ConnectionInfo[] getSystemConnections()
                                              throws TibjmsAdminException
        Returns all system connections. System connections are connections to other servers.
        Returns:
        all the system connections known to the server.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 4.2
      • destroyConnection

        public void destroyConnection​(long connectionID)
                               throws TibjmsAdminException
        Destoy the client connection for the given connectionID. This will disconnect the client using the connection from the server, so this method should be used with caution.
        Parameters:
        connectionID - The connection ID of the connection to be destroyed.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • updateQueue

        public void updateQueue​(QueueInfo queue)
                         throws TibjmsAdminException,
                                java.lang.IllegalArgumentException
        Change the properties of the queue corresponding to the given QueueInfo. This method can only be used to update a queue that already exists on the server. To create a new queue use the createQueue(com.tibco.tibjms.admin.QueueInfo) method.
        Parameters:
        queue - The QueueInfo for the queue to be modified.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        java.lang.IllegalArgumentException - if QueueInfo object is null.
      • getQueues

        public QueueInfo[] getQueues​(java.lang.String pattern,
                                     int permType,
                                     int cursorPosition,
                                     int cursorSize)
                              throws TibjmsAdminException
        Get the info for the queues that match the given pattern and the given permanence type. The pattern may contain the wildcards "*" and ">" . See the Tibjms documentation for how wildcards work in queue names. A pattern of "", ">", or null will return all the queues. One can start, continue or complete a cursored scan of queues.
        Parameters:
        pattern - The pattern that must be matched
        permType - The permanence type, either DestinationInfo.DEST_GET_ALL, DestinationInfo.DEST_GET_STATIC, DestinationInfo.DEST_GET_DYNAMIC or DestinationInfo.DEST_GET_NOTEMP
        cursorPosition - The cursor operations, either DEST_CURSOR_FIRST, DEST_CURSOR_NEXT or DEST_CURSOR_LAST
        cursorSize - The count of queues to return for a given cursor operation. Note that the operation may return less than the requested size.
        Returns:
        The QueueInfos that match the pattern. Returns null when cursor is complete.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 6.0
      • getQueues

        public QueueInfo[] getQueues​(java.lang.String pattern)
                              throws TibjmsAdminException
        Get the info for the queues that match the given pattern. The pattern may contain the wildcards "*" and ">". See the Tibjms documentation for how wildcards work in queue names. A pattern of "", ">", or null will return all the queues.
        Parameters:
        pattern - The pattern that must be matched
        Returns:
        The QueueInfos that match the pattern.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • getQueues

        public QueueInfo[] getQueues()
                              throws TibjmsAdminException
        Get the info for all the queues that are known to the server.
        Returns:
        the QueueInfos for all the queues that are known to the server.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • updateTopic

        public void updateTopic​(TopicInfo topic)
                         throws TibjmsAdminException,
                                java.lang.IllegalArgumentException
        Change the properties of the topic corresponding to the given TopicInfo. This method can only be used to update a topic that already exists on the server. To create a new topic use the createTopic(com.tibco.tibjms.admin.TopicInfo) method.
        Parameters:
        topic - The TopicInfo for the queue to be modified.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        java.lang.IllegalArgumentException - if TopicInfo object is null.
      • getTopics

        public TopicInfo[] getTopics​(java.lang.String pattern,
                                     int permType,
                                     int cursorPosition,
                                     int cursorSize)
                              throws TibjmsAdminException
        Get the info for the topics that match the given pattern and the given permanence type. The pattern may contain the wildcards "*" and ">" . See the Tibjms documentation for how wildcards work in topic names. A pattern of "", ">", or null will return all the topics. One can start, continue or complete a cursored scan of topics.
        Parameters:
        pattern - The pattern that must be matched
        permType - The permanence type, either DestinationInfo.DEST_GET_ALL, DestinationInfo.DEST_GET_STATIC, DestinationInfo.DEST_GET_DYNAMIC or DestinationInfo.DEST_GET_NOTEMP
        cursorPosition - The cursor operations, either DEST_CURSOR_FIRST, DEST_CURSOR_NEXT or DEST_CURSOR_LAST
        cursorSize - The count of topics to return for a given cursor operation. Note that the operation may return less than the requested size.
        Returns:
        The TopicInfos that match the pattern. Returns null when cursor is complete.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 6.0
      • getTopics

        public TopicInfo[] getTopics​(java.lang.String pattern)
                              throws TibjmsAdminException
        Get the info for the topics that match the given pattern. The pattern may contain the wildcards "*" and ">" . See the Tibjms documentation for how wildcards work in topic names. A pattern of "", ">", or null will return all the topics.
        Parameters:
        pattern - The pattern that must be matched
        Returns:
        The TopicInfos that match the pattern.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • getTopics

        public TopicInfo[] getTopics()
                              throws TibjmsAdminException
        Get the info for all the topics that are known to the server.
        Returns:
        the TopicInfos for all the topics that are known to the server.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • updateUser

        public void updateUser​(UserInfo userInfo)
                        throws TibjmsAdminException,
                               java.lang.IllegalArgumentException
        Save changes made to the given UserInfo. This method can only be used to update a user that already exists on the server. To create a new user use the createUser(com.tibco.tibjms.admin.UserInfo) method.
        Parameters:
        userInfo - The user information to save.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        java.lang.IllegalArgumentException - if UserInfo object is null.
      • getUsers

        public UserInfo[] getUsers()
                            throws TibjmsAdminException
        Get the array of all UserInfos known to the server.
        Returns:
        the array of all UserInfos known to the server.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • updateGroup

        public void updateGroup​(GroupInfo groupInfo)
                         throws TibjmsAdminException,
                                java.lang.IllegalArgumentException
        Save changes made to the given GroupInfo. This method can only be used to update a group that already exists on the server. To create a new group use the createGroup(com.tibco.tibjms.admin.GroupInfo) method.
        Parameters:
        groupInfo - The group to save configuration changes for.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        java.lang.IllegalArgumentException - if GroupInfo object is null.
      • addUserToGroup

        public void addUserToGroup​(java.lang.String groupName,
                                   java.lang.String userName)
                            throws TibjmsAdminException
        Add the user for the given userName to the group for the given groupName.
        Parameters:
        groupName - The group that the user will be added to.
        userName - The user to be added.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        TibjmsAdminInvalidNameException - if the names of the group or the user are not legal.
      • addUsersToGroup

        public void addUsersToGroup​(java.lang.String groupName,
                                    java.lang.String[] userNames)
                             throws TibjmsAdminException,
                                    TibjmsAdminInvalidNameException,
                                    java.lang.IllegalArgumentException
        Add the users for the given array of userNames to the group for the given groupName.
        Parameters:
        groupName - The group that the users will be added to.
        userNames - The users to be added.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        TibjmsAdminInvalidNameException - if the names of the group or users are not legal.
        java.lang.IllegalArgumentException - if the array of user names is null.
      • removeUserFromGroup

        public void removeUserFromGroup​(java.lang.String groupName,
                                        java.lang.String userName)
                                 throws TibjmsAdminException,
                                        TibjmsAdminInvalidNameException
        Remove the user for the given userName from the group for the given groupName.
        Parameters:
        groupName - The group that the user will be removed from.
        userName - The user to be removed.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        TibjmsAdminInvalidNameException - if groupName or userName are not legal names.
      • removeUsersFromGroup

        public void removeUsersFromGroup​(java.lang.String groupName,
                                         java.lang.String[] userNames)
                                  throws TibjmsAdminException,
                                         TibjmsAdminInvalidNameException,
                                         java.lang.IllegalArgumentException
        Remove the users for the given array of userNames from the group for the given groupName.
        Parameters:
        groupName - The group that the users will be removed from.
        userNames - The users to be removed.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        TibjmsAdminInvalidNameException - if groupName or one of the user names is not a legal name.
        java.lang.IllegalArgumentException - if userNames is null;
      • getPermissions

        public java.lang.Object[] getPermissions()
                                          throws TibjmsAdminException
        Get all permission entries.
        Returns:
        all ACL entries known to the server. Array elements are ACLEntry and AdminACLEntry objects.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • getPermissions

        public java.lang.Object[] getPermissions​(java.lang.Object target)
                                          throws TibjmsAdminException
        Get all permission entries for specified target. Target parameter can be UserInfo, GroupInfo, TopicInfo or QueueInfo. If target parameter is null, this method returns all permissions.
        Parameters:
        target - the object
        Returns:
        all ACL entries for specified target object
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • getPermissions

        public java.lang.Object[] getPermissions​(UserInfo target,
                                                 int flags)
                                          throws TibjmsAdminException
        Get user permissions based on the flags set.
        • If no flags are specified i.e flags == 0, then all the permissions for the user are returned.
        • If flags == PERMISSIONS_ALL, then all the permissions are returned for the specified user, (i.e direct, inhertied i.e dest (user and admin) and other admin).
        • If flags == PERMISSIONS_ALL_DEST, then all the destination permissions for the user are returned, both direct and indirect (i.e inherited from groups).
        • If flags == PERMISSIONS_ALL_ADMIN, then all the admin permissions for the user are returned, both direct and indirect.
        • If flags == PERMISSIONS_DIRECT, then all direct permissions are returned (i.e the one's directly assigned to the user, dest and admin).
        • If flags == PERMISSIONS_DIRECT_DEST, then all direct destination permissions are returned (i.e the one directly assigned to the user).
        • If flags == PERMISSIONS_DIRECT_ADMIN, then all direct admin permissions are returned (i.e the ones directly assigned to the user).
        • NOTE: If arbitrary combinations of flags are chosen then the supersed'ing flag is chosen. e.g flags = PERMISSIONS_ALL | PERMISSIONS_ALL_DEST here the ALL superseds ALL_DEST flag, so all permissions are returned.

        NOTE: Inherited permissions cannot be modified (i.e removed)

        Parameters:
        target - the userinfo object
        flags - the flags, based on which the different permissions are returned
        Returns:
        ACL entries for specified target object as defined by the flags, Array elements are be either ACLEntry, AdminACLEntry objects or both.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 4.4
      • getACLEntries

        public ACLEntry[] getACLEntries()
                                 throws TibjmsAdminException
        Get all ACL entries for destinations.
        Returns:
        all ACL entries for destinations known to the server
        Throws:
        TibjmsAdminException - if not authorized or some error occurred.
      • grant

        public void grant​(ACLEntry entry)
                   throws TibjmsAdminException,
                          java.lang.IllegalArgumentException
        Grant the permissions specified in the given ACLEntry.
        Parameters:
        entry - The description of the permissions to grant.
        Throws:
        TibjmsAdminException - if not authorized or some error occurred.
        java.lang.IllegalArgumentException - if entry is null.
      • grant

        public void grant​(ACLEntry[] acls)
                   throws TibjmsAdminException,
                          java.lang.IllegalArgumentException
        Grant the permissions specified in the given ACLEntries.
        Parameters:
        acls - The descriptions of the permissions to grant.
        Throws:
        TibjmsAdminException - if not authorized or some error occurred.
        java.lang.IllegalArgumentException - if acls is null.
      • grant

        public void grant​(AdminACLEntry entry)
                   throws TibjmsAdminException,
                          java.lang.IllegalArgumentException
        Grant the administrative permissions.
        Parameters:
        entry - the AdminACLEntry to grant.
        Throws:
        TibjmsAdminException - if not authorized or some error occurred.
        java.lang.IllegalArgumentException - if entry is null.
      • revoke

        public void revoke​(ACLEntry entry)
                    throws TibjmsAdminException,
                           java.lang.IllegalArgumentException
        Revoke the permissions specified in the given ACLEntry.
        Parameters:
        entry - the ACLEntry to revoke.
        Throws:
        TibjmsAdminException - if not authorized or some error occurred.
        java.lang.IllegalArgumentException - if ACLEntry is null.
      • revoke

        public void revoke​(ACLEntry[] acls)
                    throws TibjmsAdminException,
                           java.lang.IllegalArgumentException
        Revoke the permissions specified in the given ACLEntries.
        Parameters:
        acls - an array of ACLEntry objects containing the positive permissions to be revoked.
        Throws:
        TibjmsAdminException - if not authorized or some error occurred.
        java.lang.IllegalArgumentException - if ACLEntry array is null.
      • revoke

        public void revoke​(AdminACLEntry entry)
                    throws TibjmsAdminException,
                           java.lang.IllegalArgumentException
        Revoke the administrative permissions. Only permissions specified as positive in the AdminPermissions member of supplied AdminAclEntry are taken into account and revoked. The negative permissions of participating AdminPermissions are ignored.
        Parameters:
        entry - the AdminACLEntry containing the positive permissions to be revoked.
        Throws:
        TibjmsAdminException - if not authorized or some error occurred.
        java.lang.IllegalArgumentException - if AdminACLEntry is null.
      • getDurables

        public DurableInfo[] getDurables()
                                  throws TibjmsAdminException
        Get the durable subscription information for all durables known to the server.
        Returns:
        the array of DurableInfos for the server.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • purgeDurable

        public void purgeDurable​(java.lang.String durableName,
                                 java.lang.String clientID)
                          throws TibjmsAdminException,
                                 TibjmsAdminInvalidNameException
        Purge pending messages for the durable with given name and client ID.
        Parameters:
        durableName - The name of the durable to purge.
        clientID - The client ID associated with the durable (can be null).
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        TibjmsAdminInvalidNameException - if durableName is not a legal durable name.
      • createDurable

        public void createDurable​(java.lang.String topicName,
                                  java.lang.String durableName,
                                  java.lang.String clientID,
                                  java.lang.String selector,
                                  boolean nolocal,
                                  boolean route)
                           throws TibjmsAdminException,
                                  TibjmsAdminInvalidNameException
        Create the durable with given name and client ID.
        Parameters:
        topicName - The name of topic on which to create durable.
        durableName - The name of the durable to create.
        clientID - The client ID associated with the durable (can be null).
        selector - The selector associated with the durable (can be null).
        nolocal - Prevents reception of messages sent on this session.
        route - Designates this as a durable for another server.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        TibjmsAdminInvalidNameException - if durableName is not a legal name.
      • getMessage

        public Message getMessage​(java.lang.String messageID)
                           throws TibjmsAdminException,
                                  java.lang.IllegalArgumentException
        Get the message for the given message ID.
        Parameters:
        messageID - The ID of the message to retrieve.
        Returns:
        the message for the given ID or null if none is found.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        java.lang.IllegalArgumentException - if messageID is not a legal ID.
      • destroyMessage

        public void destroyMessage​(java.lang.String messageID)
                            throws TibjmsAdminException
        Destroy the message for the given message ID.
        Parameters:
        messageID - The ID of the message to destroy.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        java.lang.IllegalArgumentException - if messageID is not a legal ID.
      • getMessages

        public Message[] getMessages​(java.lang.String correlationID)
                              throws TibjmsAdminException,
                                     java.lang.IllegalArgumentException
        Get the messages that have the given correlation ID.
        Parameters:
        correlationID - The correlation ID of the messages to retrieve.
        Returns:
        The array of messages with the given correlation ID.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        java.lang.IllegalArgumentException - if correlationID is not a legal ID.
      • getConsumersStatistics

        public ConsumerInfo[] getConsumersStatistics()
                                              throws TibjmsAdminException
        Get statistical information about all consumers.
        Returns:
        array of ConsumerInfo objects with statistical data or null if no consumers found or statistics are disabled.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • getConsumersStatistics

        public ConsumerInfo[] getConsumersStatistics​(java.lang.Long connectionID,
                                                     java.lang.String username,
                                                     DestinationInfo destination)
                                              throws TibjmsAdminException
        Get statistical information about consumers with specified parameters.
        Parameters:
        connectionID - consumer connection ID or null.
        username - consumer user name or null.
        destination - consumer destination pattern or null.
        Returns:
        array of ConsumerInfo objects with statistical data or null if no consumers found or statistics are disabled.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • getProducersStatistics

        public ProducerInfo[] getProducersStatistics()
                                              throws TibjmsAdminException
        Returns statistical information about all producers.
        Returns:
        array of ProducerInfo objects with statistical data or null if no producers found or statistics are disabled.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • getProducersStatistics

        public ProducerInfo[] getProducersStatistics​(java.lang.Long connectionID,
                                                     java.lang.String username,
                                                     DestinationInfo destination)
                                              throws TibjmsAdminException
        Get the statistical information about producers with specified parameters.
        Parameters:
        connectionID - producer connection ID or null.
        username - producer user name or null.
        destination - producer destination pattern or null.
        Returns:
        array of ProducerInfo objects with statistical data or null if no producers found or statistics are disabled.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • getTopicsStatistics

        public TopicInfo[] getTopicsStatistics()
                                        throws TibjmsAdminException
        Get the statistical information for all topics.
        Returns:
        array of TopicInfo objects with statistical data or null if no topics found or statistics are disabled.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • getTopicsStatistics

        public TopicInfo[] getTopicsStatistics​(java.lang.String pattern)
                                        throws TibjmsAdminException
        Get the statistical information for the topics that match the given pattern. The pattern may contain the wildcards "*" and ">". See the Tibjms documentation for how wildcards work in topic names. A pattern of "", ">", or null will return statistics for all the topics.
        Parameters:
        pattern - The pattern that must be matched
        Returns:
        array of TopicInfo objects with statistical data or null if no topics found or statistics are disabled.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • getTopicsStatistics

        public TopicInfo[] getTopicsStatistics​(java.lang.String pattern,
                                               int cursorPosition,
                                               int cursorSize)
                                        throws TibjmsAdminException
        Get the statistical information for the topics that match the given pattern. The pattern may contain the wildcards "*" and ">". See the Tibjms documentation for how wildcards work in topic names. A pattern of "", ">", or null will return statistics for all the topics. One can start, continue or complete a cursored scan of topics.
        Parameters:
        pattern - The pattern that must be matched
        cursorPosition - The cursor operations, either DEST_CURSOR_FIRST, DEST_CURSOR_NEXT or DEST_CURSOR_LAST
        cursorSize - The count of topics to return for a given cursor operation. Note that the operation may return less than the requested size.
        Returns:
        array of TopicInfo objects with statistical data or null if no topics found or statistics are disabled or cursor complete.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 6.0
      • getQueuesStatistics

        public QueueInfo[] getQueuesStatistics()
                                        throws TibjmsAdminException
        Get the statistical information about all queues.
        Returns:
        array of QueueInfo objects with statistical data or null if no queues found or statistics are disabled.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • getQueuesStatistics

        public QueueInfo[] getQueuesStatistics​(java.lang.String pattern)
                                        throws TibjmsAdminException
        Get the statistical information for the queues that match the given pattern. The wildcards "*" and ">" may be included in the pattern. See the Tibjms documentation for how wildcards work in queue names. A pattern of "", ">", or null will return statistics for all the queues.
        Parameters:
        pattern - The pattern that must be matched
        Returns:
        array of QueueInfo objects with statistical data or null if no queues found or statistics are disabled.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • getQueuesStatistics

        public QueueInfo[] getQueuesStatistics​(java.lang.String pattern,
                                               int cursorPosition,
                                               int cursorSize)
                                        throws TibjmsAdminException
        Get the statistical information for the queues that match the given pattern. The wildcards "*" and ">" may be included in the pattern. See the Tibjms documentation for how wildcards work in queue names. A pattern of "", ">", or null will return statistics for all the queues. One can start, continue or complete a cursored scan of queues.
        Parameters:
        pattern - The pattern that must be matched
        cursorPosition - The cursor operations, either DEST_CURSOR_FIRST, DEST_CURSOR_NEXT or DEST_CURSOR_LAST
        cursorSize - The count of queues to return for a given cursor operation. Note that the operation may return less than the requested size.
        Returns:
        array of QueueInfo objects with statistical data or null if no queues found or statistics are disabled or cursor complete.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 6.0
      • commitTransaction

        public void commitTransaction​(TransactionInfo transaction)
                               throws TibjmsAdminException,
                                      java.lang.IllegalArgumentException
        Commit the xa transaction.
        Parameters:
        transaction - The TransactionInfo object for the transaction to be committed.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        java.lang.IllegalArgumentException - if transaction is null.
      • rollbackTransaction

        public void rollbackTransaction​(TransactionInfo transaction)
                                 throws TibjmsAdminException,
                                        java.lang.IllegalArgumentException
        Roll the xa transaction back.
        Parameters:
        transaction - The TransactionInfo object for the transaction to be rolled back.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        java.lang.IllegalArgumentException - if TransactionInfo object is null.
      • setExceptionListener

        public void setExceptionListener​(ExceptionListener listener)
                                  throws TibjmsAdminException
        Sets an exception listener for the connection used by the admin api to communicate with the EMS server. See the EMS API documentation for more information about exception listeners.
        Parameters:
        listener - the exception listener.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • getBridges

        public BridgeInfo[] getBridges​(int type,
                                       java.lang.String pattern)
                                throws TibjmsAdminException,
                                       java.lang.IllegalArgumentException
        Get all the bridges known to the server where the source destination is of a given type and the source destination name matches the given pattern.
        Parameters:
        type - the type of source destination, either DestinationInfo.QUEUE_TYPE to return only bridges from queues, DestinationInfo.TOPIC_TYPE to return only bridges from topics, or DestinationInfo.ALL_TYPE types to return bridges from both queues and topics.
        pattern - a filter to restrict the bridges that are returned to only those whose name matches the pattern, null indicates all bridges.
        Returns:
        all the matching bridges.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        java.lang.IllegalArgumentException - if type is invalid
      • getBridge

        public BridgeInfo getBridge​(int type,
                                    java.lang.String name)
                             throws TibjmsAdminException,
                                    java.lang.IllegalArgumentException
        Get the bridge from a given destination.
        Parameters:
        type - the type of source destination, either DestinationInfo.QUEUE_TYPE or DestinationInfo.TOPIC_TYPE.
        name - the name of the source destination
        Returns:
        the BridgeInfo object representing the bridge or null if one wasn't found.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        java.lang.IllegalArgumentException - type is invalid or name is null
      • getConnectionId

        public long getConnectionId()
        Get the connection id of the TibjmsAdmin object's connection to the server.
        Returns:
        the connection id of the TibjmsAdmin's connection to the server, or zero if the connection is closed or broken.
      • compact

        public boolean compact​(int store,
                               long timeout)
                        throws TibjmsAdminException,
                               java.lang.IllegalArgumentException
        Compact one of the server's store files until either no more compaction can be done or timeout seconds have elapsed, whichever occurs first.

        For mstores only, a value of STORE_COMPACT_NOLIMIT for the timeout triggers a full re-write of the mstore with no time limit.

        WARNING: Once started, it is not possible to interrupt the compaction, and all other operations (creating new connections, sending and/or receiving messages, etc...) will be suspended during, at most, the number of seconds specified (the 'timeout' value) or, if using STORE_COMPACT_NOLIMIT, and for mstores only, until the mstore has been entirely re-written.
        Parameters:
        store - the store file to compact, either STORE_SYNC or STORE_ASYNC
        timeout - time in seconds allowed for compaction (must be greater than zero) or, for mstores only, STORE_COMPACT_NOLIMIT
        Returns:
        true if the store file was fully compacted before the timeout expired, false otherwise.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        java.lang.IllegalArgumentException - if store is invalid or timeout is not greater than zero.
      • compact

        public boolean compact​(java.lang.String name,
                               long timeout)
                        throws TibjmsAdminException,
                               java.lang.IllegalArgumentException
        Compact one of the server's store files until either no more compaction can be done or timeout seconds have elapsed, whichever occurs first.

        For mstores only, a value of STORE_COMPACT_NOLIMIT for the timeout triggers a full re-write of the mstore with no time limit.

        WARNING: Once started, it is not possible to interrupt the compaction, and all other operations (creating new connections, sending and/or receiving messages, etc...) will be suspended during, at most, the number of seconds specified (the 'timeout' value) or, if using STORE_COMPACT_NOLIMIT, and for mstores only, until the mstore has been entirely re-written.
        Parameters:
        name - the store file 'name' to compact.
        timeout - time in seconds allowed for compaction (must be greater than zero) or, for mstores only, STORE_COMPACT_NOLIMIT
        Returns:
        true if the store file was fully compacted before the timeout expired, false otherwise.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        java.lang.IllegalArgumentException - if store is invalid or timeout is not greater than zero.
        Since:
        EMS 5.0
      • getStores

        public java.lang.String[] getStores()
                                     throws TibjmsAdminException
        Get a list of configured stores.
        Returns:
        an array of Sring objects containing individual store names.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 5.0
      • getConsumers

        public ConsumerInfo[] getConsumers()
                                    throws TibjmsAdminException
        Returns all consumers in the server. Returned array may be of 0 length if there are no consumers in the server. Returned consumers are not sorted and placed in the array in any order. Application may need to sort the consumers in application-specific order if required. This method is equivalent to calling method getConsumers(null,null,null,false,0). Refer to the documentation of getConsumers(Long,String,DestinationInfo,boolean,int) for detailed information.
        Returns:
        array of all consumers in the server or array of 0 length.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
      • getConsumers

        public ConsumerInfo[] getConsumers​(java.lang.Long connectionID,
                                           java.lang.String username,
                                           DestinationInfo destination,
                                           boolean durable,
                                           int dataFlags)
                                    throws TibjmsAdminException
        Returns consumers matching specified filters. Returned array may be of 0 length if there are no consumers in the server which match specified filters. This method returns only consumers matching filters specified by parameters consumerID, username and destination. Parameter durable is applied only to topic subscribers. All filters may be omitted by specifying null value. Parameter durable has special meaning in that it prevents this method from returning non-durable topic consumers. It however does not affect which queue consumers are returned. Returned consumers are not sorted and placed in the array in any order. Application may need to sort the consumers in application-specific order if required.

        For example, calling

           getConsumers(null,null,null,false,0);
        returns all consumers known to server but does not include statistical information nor selector (if present) for each consumer. Calling
           getConsumers(null,null,null,true,0);
        returns all queue consumers and durable topic consumers. Calling
           TopicInfo topic = new TopicInfo("news.*");
           getConsumers(null,null,topic,true,TibjmsAdmin.GET_DETAILED_STAT);
        returns all durable topic consumers which subscribe to any topic matching topic "news.*". Returned ConsumerInfo objects will include detailed statistics about consumers if statistics are enabled in the server but will not include consumer's selector. Calling
           QueueInfo queue = new QueueInfo("purchase.order.>");
           getConsumers(null,"OrderProcessor",queue,false,
                            TibjmsAdmin.GET_DETAILED_STAT+TibjmsAdmin.GET_SELECTOR);
        returns all queue consumers created by user "OrderProcessor" and receiving messages from all queues matching name "purchase.order.>". Each consumer object will include full statistics available for consumer and consumer's selector if present.
        Parameters:
        connectionID - if specified, only consumers for specified connection will be returned. Specify null if all consumers should be returned.
        username - if specified, only consumers for connections with specified user name will be returned. Specify null if all consumers should be returned.
        destination - may be set to null or specify TopicInfo or QueueInfo object. If specified, only consumers subscribing to destinations of same type and matching this destination name will be returned.
        durable - specified that only durable topic subscribers should be returned. This does not affect returned queue consumers. If parameter destination specifies QueueInfo, this parameter is ignored.
        dataFlags - specifies what information, besides common, should be included into returned ConsumerInfo objects. Value can be any combination of flags GET_STAT, GET_DETAILED_STAT and GET_SELECTOR. Notice GET_DETAILED_STAT superceeds GET_STAT. If not specified, returned objects do not contain statistics or consumer's selector. Also notice that statistical information may not be returned even when requested if statistics are disabled in the server.
        Returns:
        array of consumers or array of 0 length.
        Throws:
        java.lang.IllegalArgumentException - if dataFlags parameter is invalid.
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 4.4
        See Also:
        getConsumers(), getConsumer(long)
      • getConsumer

        public ConsumerInfo getConsumer​(long consumerID)
                                 throws TibjmsAdminException
        Returns consumer with specified ID. Returned consumer object contains all information about consumer known to server, including all details, available statistics, and consumer's selector.
        Returns:
        consumer information or null if consumer with specified ID does not exist in the server.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 4.4
        See Also:
        getConsumers()
      • getSubscriptions

        public SubscriptionInfo[] getSubscriptions()
                                            throws TibjmsAdminException
        Returns all subscriptions in the server. Returned array may be of 0 length if there is no subscription in the server. Returned subscriptions are not sorted and placed in the array in any order. Application may need to sort the subscriptions in application-specific order if required. This method is equivalent to calling method getSubscriptions(0, null, null). Refer to documentation of getSubscriptions(int, String, String) for detailed information.
        Returns:
        array of all subscriptions in the server or array of 0 length.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 8.0
        See Also:
        getSubscriptions(int, String, String)
      • getSubscriptions

        @Deprecated
        public SubscriptionInfo[] getSubscriptions​(java.lang.String name,
                                                   TopicInfo topic,
                                                   int filterFlags)
                                            throws TibjmsAdminException
        Deprecated.
        Returns subscriptions matching specified filters. Returned array may be of 0 length if there is no subscription in the server which match specified filters. This method returns only subscriptions matching filters specified by parameters name, topic and filterFlags. Filters may be omitted by specifying null or 0 value. Returned subscriptions are not sorted and placed in the array in any order. Application may need to sort the subscriptions in application-specific order if required.

        For example, calling

           getSubscriptions(null,null,0);
        returns all subscriptions known to server. Calling
           getSubscriptions(null,null,TibjmsAdmin.SUBSCRIPTIONS_FILTER_DURABLE_ONLY);
        returns all durable (shared or not shared) subscriptions. Calling
           TopicInfo topic = new TopicInfo("news.*");
           getSubscriptions(null,topic,TibjmsAdmin.SUBSCRIPTIONS_FILTER_DURABLE_ONLY + TibjmsAdmin.SUBSCRIPTIONS_FILTER_SHARED_ONLY);
        returns all shared durable subscriptions on any topic matching topic "news.*".
        Parameters:
        name - specifies that only subscriptions with this name should be returned.
        topic - specifies that only subscriptions on a topic matching this topic should be returned.
        filterFlags - additional filtering. Value can be any combination of flags SUBSCRIPTIONS_FILTER_DURABLE_ONLY, SUBSCRIPTIONS_FILTER_NO_DURABLE, SUBSCRIPTIONS_FILTER_SHARED_ONLY and SUBSCRIPTIONS_FILTER_NO_SHARED.
        Returns:
        array of subscriptions or array of 0 length.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 8.0
        See Also:
        getSubscriptions()
      • getSubscriptions

        public SubscriptionInfo[] getSubscriptions​(int filterFlags,
                                                   java.lang.String name,
                                                   java.lang.String topicName)
                                            throws TibjmsAdminException
        Returns subscriptions matching specified filters. Returned array may be of 0 length if there is no subscription in the server which match specified filters. This method returns only subscriptions matching filters specified by parameters filterFlags, name and topicName. Filters may be omitted by specifying 0 or null. Returned subscriptions are not sorted and placed in the array in any order. Application may need to sort the subscriptions in application-specific order if required.

        For example, calling

           getSubscriptions(0, null, null);
        returns all subscriptions known to server. Calling
           getSubscriptions(TibjmsAdmin.SUBSCRIPTIONS_FILTER_DURABLE_ONLY, null, null);
        returns all durable (shared or not shared) subscriptions. Calling
           getSubscriptions(TibjmsAdmin.SUBSCRIPTIONS_FILTER_DURABLE_ONLY + TibjmsAdmin.SUBSCRIPTIONS_FILTER_SHARED_ONLY, null, "news.*");
        returns all shared durable subscriptions on any topic matching topic "news.*".
        Parameters:
        filterFlags - Value can be any combination of flags SUBSCRIPTIONS_FILTER_DURABLE_ONLY, SUBSCRIPTIONS_FILTER_NO_DURABLE, SUBSCRIPTIONS_FILTER_SHARED_ONLY and SUBSCRIPTIONS_FILTER_NO_SHARED.
        name - specifies that only subscriptions with this name should be returned.
        topicName - specifies that only subscriptions on a topic matching this topic name should be returned.
        Returns:
        array of subscriptions or array of 0 length.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 8.1.0
        See Also:
        getSubscriptions()
      • getChannels

        @Deprecated
        public ChannelInfo[] getChannels()
                                  throws TibjmsAdminException
        Deprecated.
        As of release 8.3
        Returns all multicast channels in the server. Notice returned objects do not contain statistical data for the channels. Use getChannelStatistics(java.lang.String) method to obtain statistical information about the channel.
        Returns:
        array of ChannelInfo objects or array of 0 length if no channels exist.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 5.0
      • getChannel

        @Deprecated
        public ChannelInfo getChannel​(java.lang.String name)
                               throws TibjmsAdminException
        Deprecated.
        As of release 8.3
        Returns the multicast channel with specified name. Notice returned object does not contain statistical data for the channel. Use getChannelStatistics(java.lang.String) method to obtain statistical information about the channel.
        Returns:
        ChannelInfo object or null if channel with specified name does not exist in the server.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 5.0
        See Also:
        getChannels()
      • getChannelStatistics

        @Deprecated
        public ChannelInfo getChannelStatistics​(java.lang.String name)
                                         throws TibjmsAdminException
        Deprecated.
        As of release 8.3
        Returns statistical information about the multicast channel with specified name.
        Parameters:
        name - name of the channel.
        Returns:
        ChannelInfo object or null if channel with specified name does not exist in the server or statistics are disabled.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        TibjmsAdminInvalidNameException - if name is not a legal channel name.
        Since:
        EMS 5.0
      • getConfiguration

        @Deprecated
        public Configuration getConfiguration()
                                       throws TibjmsAdminException
        Deprecated.
        deprecated in EMS 8.1.0, use getConfiguration(boolean)
        Returns the current server configuration in its entirety.
        Returns:
        a Configuration object containing the current configuration of the connected server.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 6.0
      • getConfiguration

        public Configuration getConfiguration​(boolean reset)
                                       throws TibjmsAdminException
        Returns the current server configuration in its entirety.
        Parameters:
        reset - true value causes the EMS server to reset its knowledge of any local changes.
        Returns:
        a Configuration object containing the current configuration of the connected server.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 8.1.0
      • createConfiguration

        public Configuration createConfiguration()
                                          throws TibjmsAdminException
        Creates an empty configuration object that can be used to load configuration updates.
        Returns:
        an empty Configuration object.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 6.0
      • synchronizeConfiguration

        public void synchronizeConfiguration​(Configuration configuration)
                                      throws TibjmsAdminException
        Synchronize the current server with a provided Configuration such that upon success, the server configuration will be identical to the configuration provided.
        Parameters:
        configuration - Configuration object containing a proposed configuration for the server.
        Throws:
        TibjmsAdminException - if not authorized, server is locally modified or an error occurred.
        Since:
        EMS 6.0
      • forceConfiguration

        public void forceConfiguration​(Configuration configuration)
                                throws TibjmsAdminException
        Synchronize the current server with a provided Configuration such that upon success, the server configuration will be identical to the configuration provided. This override any local server modifications.
        Parameters:
        configuration - Configuration object containing a proposed configuration for the server.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 8.1.0
      • testConfiguration

        public void testConfiguration​(Configuration configuration)
                               throws TibjmsAdminException
        Test the current server with a provided Configuration to determine if the server will accept it.
        Parameters:
        configuration - Configuration object containing a proposed configuration for the server.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 8.1.0
      • isRestartRequired

        public boolean isRestartRequired()
                                  throws TibjmsAdminException
        Query a server to determine whether a restart is required to complete state changes. This allows the server to be checked before issuing a restart.
        Returns:
        a boolean. If true, the server requires a restart to attain a state consistent with the configuration.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 6.0
      • getTraceBuffer

        public java.lang.String[] getTraceBuffer​(boolean clear)
                                          throws TibjmsAdminException
        Reserved for internal provider use only - Do not use this method.
        Throws:
        TibjmsAdminException
      • manglePassword

        public static java.lang.String manglePassword​(java.lang.String password)
                                               throws TibjmsAdminException
        Mangles a password for use with EMS.

        If the password is null or is already mangled, nothing is done.

        Parameters:
        password - the password to mangle
        Returns:
        mangled password
        Throws:
        TibjmsAdminException - if an error has occurred.
        Since:
        EMS 8.1.0
        See Also:
        unmanglePassword(String)
      • unmanglePassword

        public static java.lang.String unmanglePassword​(java.lang.String mangledPassword)
                                                 throws TibjmsAdminException
        Unmangles a password mangled by EMS.

        If the password is not mangled or is null then the original password is returned.

        Parameters:
        mangledPassword - the password to unmangle.
        Returns:
        the unmangled password.
        Throws:
        TibjmsAdminException - if an error has occurred.
        Since:
        EMS 8.1.0
        See Also:
        manglePassword(String)
      • activateDRSite

        public void activateDRSite()
                            throws TibjmsAdminException
        Inform the FTL servers at the Disaster Recovery (DR) site that their site of operations is now the new primary site. This call is only relevant when using FTL stores with DR configured.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 10.2.0
      • setupDRSite

        public void setupDRSite​(java.lang.String urlList)
                         throws TibjmsAdminException
        Establish a new Disaster Recovery (DR) site after the original DR site has become the new primary site. Must be called on the active EMS server of the FTL server cluster at the designated new DR site. This call is only relevant when using FTL stores with DR configured.
        Parameters:
        urlList - the pipe-separated list of URLs of the FTL server cluster at the primary site. Each URL should be of the form: <FTL server name>@<host>:<port>
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 10.2.0
      • saveAndExit

        public void saveAndExit()
                         throws TibjmsAdminException
        When using in-memory replication with FTL stores, save the state of each server to disk and exit. Call this method when all servers have to be shut down. You need to alter the configuration of each of the servers to load its saved state upon restart. This call is only relevant when using FTL stores with in-memory replication configured.
        Throws:
        TibjmsAdminException - if not authorized or an error occurred.
        Since:
        EMS 10.2.0