/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.activemq.artemis.jms.tests.tools.container; import javax.naming.InitialContext; import java.rmi.Remote; import java.util.HashMap; import java.util.List; import java.util.Set; import org.apache.activemq.artemis.api.jms.JMSFactoryType; import org.apache.activemq.artemis.core.security.Role; import org.apache.activemq.artemis.core.server.ActiveMQServer; import org.apache.activemq.artemis.jms.server.JMSServerManager; /** * The remote interface exposed by TestServer. */ public interface Server extends Remote { int getServerID() throws Exception; /** * @param attrOverrides - server attribute overrides that will take precedence over values * read from configuration files. */ void start(HashMap<String, Object> configuration, boolean clearDatabase) throws Exception; /** * @return true if the server was stopped indeed, or false if the server was stopped already * when the method was invoked. */ boolean stop() throws Exception; /** * For a remote server, it "abruptly" kills the VM running the server. For a local server * it just stops the server. */ void kill() throws Exception; /** * When kill is called you are actually scheduling the server to be killed in few milliseconds. * There are certain cases where we need to assure the server was really killed. * For that we have this simple ping we can use to verify if the server still alive or not. */ void ping() throws Exception; /** */ void startServerPeer() throws Exception; void stopServerPeer() throws Exception; boolean isStarted() throws Exception; /** * Only for in-VM use! */ // MessageStore getMessageStore() throws Exception; /** * Only for in-VM use! */ // DestinationManager getDestinationManager() throws Exception; // StorageManager getPersistenceManager() throws Exception; // // /** // * Only for in-VM use // */ ActiveMQServer getServerPeer() throws Exception; void createQueue(String name, String jndiName) throws Exception; void destroyQueue(String name, String jndiName) throws Exception; void createTopic(String name, String jndiName) throws Exception; void destroyTopic(String name, String jndiName) throws Exception; // /** // * Simulates a topic deployment (copying the topic descriptor in the deploy directory). // */ // void deployTopic(String name, String jndiName, boolean manageConfirmations) throws Exception; // // /** // * Simulates a topic deployment (copying the topic descriptor in the deploy directory). // */ // void deployTopic(String name, String jndiName, int fullSize, int pageSize, // int downCacheSize, boolean manageConfirmations) throws Exception; // // /** // * Creates a topic programmatically. // */ // void deployTopicProgrammatically(String name, String jndiName) throws Exception; // // /** // * Simulates a queue deployment (copying the queue descriptor in the deploy directory). // */ // void deployQueue(String name, String jndiName, boolean manageConfirmations) throws Exception; // // /** // * Simulates a queue deployment (copying the queue descriptor in the deploy directory). // */ // void deployQueue(String name, String jndiName, int fullSize, int pageSize, // int downCacheSize, boolean manageConfirmations) throws Exception; // // /** // * Creates a queue programmatically. // */ // void deployQueueProgrammatically(String name, String jndiName) throws Exception; /** * Simulates a destination un-deployment (deleting the destination descriptor from the deploy * directory). */ // void undeployDestination(boolean isQueue, String name) throws Exception; /** * Destroys a programmatically created destination. */ // boolean undeployDestinationProgrammatically(boolean isQueue, String name) throws Exception; void deployConnectionFactory(String clientId, JMSFactoryType type, String objectName, int prefetchSize, int defaultTempQueueFullSize, int defaultTempQueuePageSize, int defaultTempQueueDownCacheSize, boolean supportsFailover, boolean supportsLoadBalancing, int dupsOkBatchSize, boolean blockOnAcknowledge, final String... jndiBindings) throws Exception; void deployConnectionFactory(String objectName, int prefetchSize, int defaultTempQueueFullSize, int defaultTempQueuePageSize, int defaultTempQueueDownCacheSize, final String... jndiBindings) throws Exception; void deployConnectionFactory(String objectName, boolean supportsFailover, boolean supportsLoadBalancing, final String... jndiBindings) throws Exception; void deployConnectionFactory(String clientID, String objectName, final String... jndiBindings) throws Exception; void deployConnectionFactory(String objectName, int prefetchSize, final String... jndiBindings) throws Exception; void deployConnectionFactory(String objectName, final String... jndiBindings) throws Exception; void deployConnectionFactory(String objectName, JMSFactoryType type, final String... jndiBindings) throws Exception; void undeployConnectionFactory(String objectName) throws Exception; void configureSecurityForDestination(String destName, boolean isQueue, Set<Role> roles) throws Exception; ActiveMQServer getActiveMQServer() throws Exception; InitialContext getInitialContext() throws Exception; void removeAllMessages(String destination) throws Exception; Long getMessageCountForQueue(String queueName) throws Exception; List<String> listAllSubscribersForTopic(String s) throws Exception; Set<Role> getSecurityConfig() throws Exception; void setSecurityConfig(Set<Role> defConfig) throws Exception; // void setSecurityConfigOnManager(boolean b, String s, Set<Role> lockedConf) throws Exception; // void setDefaultRedeliveryDelay(long delay) throws Exception; JMSServerManager getJMSServerManager() throws Exception; }