/** * Test initialization of DynamicLoadBalanceEndpoint * * @throws AxisFault on an issue initializing DynamicLoadBalanceEndpoint */ @Test public void testInit() throws AxisFault { DynamicLoadbalanceEndpoint dynamicLoadbalanceEndpoint = new DynamicLoadbalanceEndpoint(); dynamicLoadbalanceEndpoint.init(getMockedSynapseEnvironment()); }
@Override public void init(SynapseEnvironment synapseEnvironment) { if (!initialized) { super.init(synapseEnvironment); ConfigurationContext cfgCtx = ((Axis2SynapseEnvironment) synapseEnvironment).getAxis2ConfigurationContext(); ClusteringAgent clusteringAgent = cfgCtx.getAxisConfiguration().getClusteringAgent(); if (clusteringAgent == null) { throw new SynapseException("Axis2 ClusteringAgent not defined in axis2.xml"); } // Add the Axis2 GroupManagement agents for (String domain : hostDomainMap.values()) { if (clusteringAgent.getGroupManagementAgent(domain) == null) { clusteringAgent.addGroupManagementAgent(new DefaultGroupManagementAgent(), domain); } } slbMembershipHandler = new ServiceLoadBalanceMembershipHandler(hostDomainMap, getAlgorithm(), cfgCtx, isClusteringEnabled, getName()); // Initialize the SAL Sessions if already has not been initialized. SALSessions salSessions = SALSessions.getInstance(); if (!salSessions.isInitialized()) { salSessions.initialize(isClusteringEnabled, cfgCtx); } initialized = true; log.info("ServiceDynamicLoadbalanceEndpoint initialized"); } }
@Override public void init(SynapseEnvironment synapseEnvironment) { if (!initialized) { super.init(synapseEnvironment); ConfigurationContext cfgCtx = ((Axis2SynapseEnvironment) synapseEnvironment).getAxis2ConfigurationContext(); ClusteringAgent clusteringAgent = cfgCtx.getAxisConfiguration().getClusteringAgent(); if (clusteringAgent == null) { throw new SynapseException("Axis2 ClusteringAgent not defined in axis2.xml"); } // Add the Axis2 GroupManagement agents for (String domain : hostDomainMap.values()) { if (clusteringAgent.getGroupManagementAgent(domain) == null) { clusteringAgent.addGroupManagementAgent(new DefaultGroupManagementAgent(), domain); } } slbMembershipHandler = new ServiceLoadBalanceMembershipHandler(hostDomainMap, getAlgorithm(), cfgCtx, isClusteringEnabled, getName()); // Initialize the SAL Sessions if already has not been initialized. SALSessions salSessions = SALSessions.getInstance(); if (!salSessions.isInitialized()) { salSessions.initialize(isClusteringEnabled, cfgCtx); } initialized = true; log.info("ServiceDynamicLoadbalanceEndpoint initialized"); } }
super.init(synapseEnvironment); ConfigurationContext cfgCtx = ((Axis2SynapseEnvironment) synapseEnvironment).getAxis2ConfigurationContext();
/** * Test sending a message to a load balance EP * * @throws AxisFault on an issue sending message to DynamicLoadBalanceEndpoint */ @Test public void testSend() throws AxisFault { DynamicLoadbalanceEndpoint dynamicLoadbalanceEndpoint = new DynamicLoadbalanceEndpoint(); SynapseEnvironment synapseEnvironment = getMockedSynapseEnvironment(); dynamicLoadbalanceEndpoint.init(synapseEnvironment); MessageContext messageContext = createMessageContext(); //Mock a LoadBalanceMembershipHandler and set LoadBalanceMembershipHandler loadBalanceMembershipHandler = PowerMockito. mock(LoadBalanceMembershipHandler.class); Member member1 = new Member("localhost", 9000); Mockito.when(loadBalanceMembershipHandler. getNextApplicationMember(any(AlgorithmContext.class))).thenReturn(member1); dynamicLoadbalanceEndpoint.setLoadBalanceMembershipHandler(loadBalanceMembershipHandler); //set mocked SynapseEnvironment to message context ((Axis2MessageContext)messageContext).getAxis2MessageContext(). getConfigurationContext().getAxisConfiguration(). addParameter(SynapseConstants.SYNAPSE_ENV, synapseEnvironment); messageContext.setEnvironment(synapseEnvironment); //send message dynamicLoadbalanceEndpoint.send(messageContext); Assert.assertNotNull("SynapseConstants.LAST_ENDPOINT should return a not null value", messageContext.getProperty(SynapseConstants.LAST_ENDPOINT)); }