/* * 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.axis2.clustering; import junit.framework.TestCase; import org.apache.axis2.context.ConfigurationContext; import org.apache.axis2.context.ConfigurationContextFactory; import org.apache.axis2.description.AxisService; import org.apache.axis2.description.AxisServiceGroup; import org.apache.axis2.engine.AxisConfiguration; import org.apache.axis2.util.Utils; public abstract class ClusterManagerTestCase extends TestCase { protected ClusteringAgent clusterManager1 = null; protected ClusteringAgent clusterManager2 = null; protected AxisConfiguration axisConfiguration1 = null; protected AxisConfiguration axisConfiguration2 = null; protected ConfigurationContext configurationContext1 = null; protected ConfigurationContext configurationContext2 = null; protected AxisServiceGroup serviceGroup1 = null; protected AxisServiceGroup serviceGroup2 = null; protected AxisService service1 = null; protected AxisService service2 = null; protected String serviceName = "testService"; protected abstract ClusteringAgent getClusterManager(ConfigurationContext configCtx); protected boolean skipChannelTests = false; protected void setUp() throws Exception { Thread.sleep(3000); configurationContext1 = ConfigurationContextFactory.createDefaultConfigurationContext(); configurationContext2 = ConfigurationContextFactory.createDefaultConfigurationContext(); clusterManager1 = getClusterManager(configurationContext1); clusterManager2 = getClusterManager(configurationContext2); clusterManager1.getStateManager().setConfigurationContext(configurationContext1); clusterManager2.getStateManager().setConfigurationContext(configurationContext2); clusterManager1.getNodeManager().setConfigurationContext(configurationContext1); clusterManager2.getNodeManager().setConfigurationContext(configurationContext2); //giving both Nodes the same deployment configuration axisConfiguration1 = configurationContext1.getAxisConfiguration(); serviceGroup1 = new AxisServiceGroup(axisConfiguration1); service1 = new AxisService(serviceName); serviceGroup1.addService(service1); axisConfiguration1.addServiceGroup(serviceGroup1); axisConfiguration2 = configurationContext2.getAxisConfiguration(); serviceGroup2 = new AxisServiceGroup(axisConfiguration2); service2 = new AxisService(serviceName); serviceGroup2.addService(service2); axisConfiguration2.addServiceGroup(serviceGroup2); //Initiating ClusterManagers System.setProperty(ClusteringConstants.LOCAL_IP_ADDRESS, Utils.getIpAddress()); try { clusterManager1.init(); System.out.println("ClusteringAgent-1 successfully initialized"); System.out.println("*** PLEASE IGNORE THE java.net.ConnectException STACKTRACES. THIS IS EXPECTED ***"); clusterManager2.init(); System.out.println("ClusteringAgent-2 successfully initialized"); } catch (ClusteringFault e) { String message = "Could not initialize ClusterManagers. Please check the network connection"; System.out.println(message + ": " + e); e.printStackTrace(); skipChannelTests = true; } } protected void tearDown() throws Exception { super.tearDown(); clusterManager1.shutdown(); clusterManager2.shutdown(); } }