use of com.alipay.sofa.isle.ApplicationRuntimeModel in project sofa-boot by alipay.
the class FailModuleWithParallelTest method test.
@Test
public void test() {
ApplicationRuntimeModel applicationRuntimeModel = (ApplicationRuntimeModel) applicationContext.getBean(SofaBootConstants.APPLICATION);
// contains three Deployments
Assert.assertEquals(3, applicationRuntimeModel.getAllDeployments().size());
Assert.assertEquals(2, applicationRuntimeModel.getInstalled().size());
Assert.assertEquals(1, applicationRuntimeModel.getFailed().size());
// check module not in installed list
DeploymentDescriptor failModule = applicationRuntimeModel.getFailed().get(0);
Assert.assertEquals("com.alipay.sofa.fail", failModule.getModuleName());
Assert.assertFalse(applicationRuntimeModel.getInstalled().contains(failModule));
}
use of com.alipay.sofa.isle.ApplicationRuntimeModel in project sofa-boot by alipay.
the class ModuleHealthChecker method isHealthy.
@Override
public Health isHealthy() {
Health.Builder builder = new Health.Builder();
ApplicationRuntimeModel application = applicationContext.getBean(SofaBootConstants.APPLICATION, ApplicationRuntimeModel.class);
for (DeploymentDescriptor deploymentDescriptor : application.getInstalled()) {
builder.withDetail(deploymentDescriptor.getName(), "passed");
}
for (DeploymentDescriptor deploymentDescriptor : application.getAllInactiveDeployments()) {
builder.withDetail(deploymentDescriptor.getName(), "inactive");
}
for (DeploymentDescriptor deploymentDescriptor : application.getFailed()) {
builder.withDetail(deploymentDescriptor.getName(), "failed");
}
if (application.getFailed().size() == 0) {
return builder.status(Status.UP).build();
} else {
return builder.status(Status.DOWN).build();
}
}
use of com.alipay.sofa.isle.ApplicationRuntimeModel in project sofa-boot by alipay.
the class IsleBeansEndpoint method beans.
@ReadOperation
@Override
public ApplicationBeans beans() {
ApplicationBeans applicationBeans = super.beans();
ApplicationRuntimeModel applicationRuntimeModel = context.getBean(SofaBootConstants.APPLICATION, ApplicationRuntimeModel.class);
Map<String, ContextBeans> moduleApplicationContexts = getModuleApplicationContexts(applicationRuntimeModel);
applicationBeans.getContexts().putAll(moduleApplicationContexts);
return applicationBeans;
}
use of com.alipay.sofa.isle.ApplicationRuntimeModel in project sofa-boot by alipay.
the class ModuleLogOutputStage method doProcess.
@Override
protected void doProcess() throws Exception {
ApplicationRuntimeModel application = applicationContext.getBean(SofaBootConstants.APPLICATION, ApplicationRuntimeModel.class);
StringBuilder stringBuilder = new StringBuilder();
logInstalledModules(stringBuilder, application.getInstalled());
logFailedModules(stringBuilder, application.getFailed());
logInfoBeanCost(stringBuilder, application.getInstalled());
SofaLogger.info(stringBuilder.toString());
}
use of com.alipay.sofa.isle.ApplicationRuntimeModel in project sofa-boot by alipay.
the class DeploymentExceptionTest method test.
@Test(expected = DeploymentException.class)
public void test() throws Exception {
// create ApplicationRuntimeModel with dependency problem
ApplicationRuntimeModel application = new ApplicationRuntimeModel();
application.setAppName("testCase");
application.setModuleDeploymentValidator(new DefaultModuleDeploymentValidator());
DeploymentDescriptorConfiguration deploymentDescriptorConfiguration = new DeploymentDescriptorConfiguration(Collections.singletonList(SofaBootConstants.MODULE_NAME), Collections.singletonList(SofaBootConstants.REQUIRE_MODULE));
Properties props = new Properties();
props.setProperty(SofaBootConstants.MODULE_NAME, "com.alipay.test");
props.setProperty(SofaBootConstants.REQUIRE_MODULE, "com.alipay.dependency");
URL fileUrl = new URL("file:/demo/path/isle-module.config");
application.addDeployment(DeploymentBuilder.build(fileUrl, props, deploymentDescriptorConfiguration, ApplicationRuntimeModelTest.class.getClassLoader()));
// mock ApplicationContext
AbstractApplicationContext applicationContext = mock(AbstractApplicationContext.class);
when(applicationContext.getBean(SofaBootConstants.APPLICATION, ApplicationRuntimeModel.class)).thenReturn(application);
ConfigurableEnvironment environment = mock(ConfigurableEnvironment.class);
when(applicationContext.getEnvironment()).thenReturn(environment);
when(environment.getProperty(SofaBootConstants.APP_NAME_KEY)).thenReturn("testCase");
new SpringContextInstallStage(applicationContext, new SofaModuleProperties()).process();
}
Aggregations