/** * */ package hermes.ext.seebeyond; import hermes.HermesException; import java.util.List; import java.util.Properties; import javax.management.MBeanException; /** * @author murali * */ public interface SunSeeBeyondAdminBase { public static final int SERVER_TYPE = 0; //Zero implies not to deal with journalled messages. public static final String MESSAGE_COUNT_KEY = "MESSAGE_COUNT"; public static final String MESSAGE_ID_KEY = "Message.JMSProperty.MI"; public List getTopics() throws HermesException; public List getQueues() throws HermesException; public Properties getTopicMsgProperties(String topicName, String messageID) throws HermesException; public Properties getQueueMsgProperties(String queueName, String messageID) throws HermesException; public List getTopicMsgPropertiesList(String topicName, long startIndex, long numberOfMessages, int serverType) throws HermesException; public List getQueueMsgPropertiesList(String queueName, long startIndex, long numberOfMessages, int serverType) throws HermesException; public List getSubscribers(String topicName) throws HermesException; public List getReceivers(String queueName) throws HermesException; public boolean changeTopicTextMessage(String topicName, String messageID, String body) throws HermesException; public boolean changeQueueTextMessage(String queueName, String messageID, String body) throws HermesException; public boolean deleteTopicMessage(String topicName, String messageID) throws HermesException; public boolean deleteQueueMessage(String queueName, String messageID) throws HermesException; public boolean suspendTopic(String topicName) throws HermesException; public boolean suspendQueue(String queueName) throws HermesException; public boolean resumeTopic(String topicName) throws HermesException; public boolean resumeQueue(String queueName) throws HermesException; public boolean createTopic(String topicName) throws HermesException; public boolean createQueue(String queueName) throws HermesException; public boolean deleteTopic(String topicName) throws HermesException; public boolean deleteQueue(String queueName) throws HermesException; /** * * @param msgType javax.jms.TextMessage or javax.jms.BytesMessage * @param destinationType javax.jms.Queue or javax.jms.Topic * @param destinationName The name of a topic or queue * @param messageData The message payload, String for javax.jms.TextMessage or byte[] for javax.jms.BytesMessage * @param messagePriority The message prioriy (null if default is used) * @param messageDeliveryMode The message deliverymode (null if default is used) * @param messageTimeToLive The message expiration time (null if default is used) * @throws MBeanException * @throws NotSupportedException */ public void submitNewMessage(String msgType, String destinationType, String destinationName, Object messageData, int messagePriority, int messageDeliveryMode, long messageTimeToLive) throws HermesException; public boolean createTopicDurableSubscriber(String topicName, String subscriberName) throws HermesException; public boolean unsubscribeDurableSubscriber(String topicName, String subscriberName) throws HermesException; public Properties getServerStatus() throws HermesException; public Properties getTopicStatistics(String topicName) throws HermesException; public Properties getQueueStatistics(String queueName) throws HermesException; public boolean isServerReady() throws HermesException; public boolean republishTopicMessage(String topicName, String messageID, String body) throws HermesException; public boolean resendQueueMessage(String queueName, String messageID, String body) throws HermesException; }