use of org.apache.synapse.commons.beanstalk.enterprise.EnterpriseBeanstalkManager in project wso2-synapse by wso2.
the class EJBMediatorTest method testInitAndMediate.
/**
* Initializing EJBMediator and Mediating a messageContext
*/
@Test
public void testInitAndMediate() throws Exception {
SynapseEnvironment synapseEnvironment = Mockito.mock(SynapseEnvironment.class);
ServerConfigurationInformation configurationInformation = new ServerConfigurationInformation();
ServerContextInformation contextInformation = new ServerContextInformation(configurationInformation);
Mockito.when(synapseEnvironment.getServerContextInformation()).thenReturn(contextInformation);
try {
ejbMediator.init(synapseEnvironment);
Assert.fail("executed successfully when exception is expected");
} catch (Exception ex) {
Assert.assertEquals("assert exception class", SynapseException.class, ex.getClass());
Assert.assertEquals("assert exception message", "Initialization failed. BeanstalkManager not found.", ex.getMessage());
}
ejbMediator.setBeanstalkName(BEANSTALK_NAME);
EnterpriseBeanstalkManager beanstalkManager = Mockito.mock(EnterpriseBeanstalkManager.class);
contextInformation.addProperty(EnterpriseBeanstalkConstants.BEANSTALK_MANAGER_PROP_NAME, beanstalkManager);
try {
ejbMediator.init(synapseEnvironment);
Assert.fail("executed successfully when exception is expected");
} catch (Exception ex) {
Assert.assertEquals("assert exception class", SynapseException.class, ex.getClass());
Assert.assertEquals("assert exception message", "Initialization failed. '" + BEANSTALK_NAME + "' " + "beanstalk not found.", ex.getMessage());
}
beanstalk = PowerMockito.mock(EnterpriseBeanstalk.class);
Value beanId = new Value(VALUE);
ejbMediator.setBeanId(beanId);
Object obj = new Object();
PowerMockito.when(beanstalk.getEnterpriseBean(any(String.class), any(String.class), any(String.class))).thenReturn(obj);
PowerMockito.when(beanstalkManager.getBeanstalk(BEANSTALK_NAME)).thenReturn(beanstalk);
PowerMockito.mockStatic(BeanUtils.class);
PowerMockito.when(BeanUtils.invokeInstanceMethod(any(Object.class), any(Method.class), any(Object[].class))).thenReturn(new Object());
ejbMediator.init(synapseEnvironment);
String samplePayload = "<test>value</test>";
Map<String, Entry> properties = new HashMap<>();
Axis2MessageContext messageContext = TestUtils.getAxis2MessageContext(samplePayload, properties);
ejbMediator.setClassName(CLASS_NAME);
ejbMediator.setJndiName(JNDI_NAME);
Assert.assertTrue("mediation must be successful", ejbMediator.mediate(messageContext));
}
use of org.apache.synapse.commons.beanstalk.enterprise.EnterpriseBeanstalkManager in project wso2-synapse by wso2.
the class Axis2SynapseController method stop.
/**
* Cleanup the axis2 environment and stop the synapse environment.
*/
public void stop() {
try {
// stop tasks
SynapseTaskManager synapseTaskManager = synapseEnvironment.getTaskManager();
if (synapseTaskManager.isInitialized()) {
synapseTaskManager.cleanup();
}
EnterpriseBeanstalkManager manager = (EnterpriseBeanstalkManager) serverContextInformation.getProperty(EnterpriseBeanstalkConstants.BEANSTALK_MANAGER_PROP_NAME);
if (manager != null) {
manager.destroy();
}
// stop the listener manager
if (listenerManager != null) {
listenerManager.stop();
}
// detach the synapse handlers
if (configurationContext != null) {
List<Phase> inflowPhases = configurationContext.getAxisConfiguration().getInFlowPhases();
for (Phase inPhase : inflowPhases) {
// we are interested about the Dispatch phase in the inflow
if (PhaseMetadata.PHASE_DISPATCH.equals(inPhase.getPhaseName())) {
List<HandlerDescription> synapseHandlers = new ArrayList<HandlerDescription>();
for (Handler handler : inPhase.getHandlers()) {
if (SynapseDispatcher.NAME.equals(handler.getName()) || SynapseMustUnderstandHandler.NAME.equals(handler.getName())) {
synapseHandlers.add(handler.getHandlerDesc());
}
}
for (HandlerDescription handlerMD : synapseHandlers) {
inPhase.removeHandler(handlerMD);
}
}
}
} else {
handleException("Couldn't detach the Synapse handlers, " + "ConfigurationContext not found.");
}
// continue stopping the axis2 environment if we created it
if (serverConfigurationInformation.isCreateNewInstance() && configurationContext != null && configurationContext.getAxisConfiguration() != null) {
Map<String, AxisService> serviceMap = configurationContext.getAxisConfiguration().getServices();
for (AxisService svc : serviceMap.values()) {
svc.setActive(false);
}
// stop all modules
Map<String, AxisModule> moduleMap = configurationContext.getAxisConfiguration().getModules();
for (AxisModule mod : moduleMap.values()) {
if (mod.getModule() != null && !"synapse".equals(mod.getName())) {
mod.getModule().shutdown(configurationContext);
}
}
}
} catch (AxisFault e) {
log.error("Error stopping the Axis2 Environment");
}
}
use of org.apache.synapse.commons.beanstalk.enterprise.EnterpriseBeanstalkManager in project wso2-synapse by wso2.
the class Axis2SynapseController method initEnterpriseBeanstalkHolder.
private synchronized void initEnterpriseBeanstalkHolder(ServerContextInformation serverContextInformation) {
if (serverContextInformation.getProperty(EnterpriseBeanstalkConstants.BEANSTALK_MANAGER_PROP_NAME) == null) {
EnterpriseBeanstalkManager beanstalkHolder = new EnterpriseBeanstalkManager();
Properties synapseProperties = SynapsePropertiesLoader.reloadSynapseProperties();
beanstalkHolder.init(synapseProperties);
serverContextInformation.addProperty(EnterpriseBeanstalkConstants.BEANSTALK_MANAGER_PROP_NAME, beanstalkHolder);
}
}
use of org.apache.synapse.commons.beanstalk.enterprise.EnterpriseBeanstalkManager in project wso2-synapse by wso2.
the class EJBMediator method init.
/**
* @param se SynapseEnvironment to be used for initialization
*/
public void init(SynapseEnvironment se) {
EnterpriseBeanstalkManager beanstalkManager = (EnterpriseBeanstalkManager) se.getServerContextInformation().getProperty(EnterpriseBeanstalkConstants.BEANSTALK_MANAGER_PROP_NAME);
if (beanstalkManager == null) {
throw new SynapseException("Initialization failed. BeanstalkManager not found.");
}
beanstalk = beanstalkManager.getBeanstalk(beanstalkName);
if (beanstalk == null) {
throw new SynapseException("Initialization failed. '" + beanstalkName + "' beanstalk not found.");
}
}
Aggregations