Search in sources :

Example 11 with DeploymentDescriptorConfiguration

use of com.alipay.sofa.isle.deployment.DeploymentDescriptorConfiguration in project sofa-boot by alipay.

the class TestModelCreatingStage method getAllDeployments.

@Override
protected void getAllDeployments(ApplicationRuntimeModel application) throws IOException {
    Enumeration<URL> urls = appClassLoader.getResources("META-INF/" + SofaBootConstants.SOFA_MODULE_FILE);
    if (urls == null || !urls.hasMoreElements()) {
        return;
    }
    while (urls.hasMoreElements()) {
        URL url = urls.nextElement();
        UrlResource urlResource = new UrlResource(url);
        Properties props = new Properties();
        props.load(urlResource.getInputStream());
        DeploymentDescriptorConfiguration deploymentDescriptorConfiguration = new DeploymentDescriptorConfiguration(Collections.singletonList(SofaBootConstants.MODULE_NAME), Collections.singletonList(SofaBootConstants.REQUIRE_MODULE));
        DeploymentDescriptor dd = DeploymentBuilder.build(url, props, deploymentDescriptorConfiguration, appClassLoader);
        if (application.isModuleDeployment(dd)) {
            if (sofaModuleProfileChecker.acceptModule(dd)) {
                application.addDeployment(dd);
            } else {
                application.addInactiveDeployment(dd);
            }
        }
    }
}
Also used : DeploymentDescriptorConfiguration(com.alipay.sofa.isle.deployment.DeploymentDescriptorConfiguration) UrlResource(org.springframework.core.io.UrlResource) DeploymentDescriptor(com.alipay.sofa.isle.deployment.DeploymentDescriptor) Properties(java.util.Properties) URL(java.net.URL)

Example 12 with DeploymentDescriptorConfiguration

use of com.alipay.sofa.isle.deployment.DeploymentDescriptorConfiguration in project sofa-boot by sofastack.

the class ModelCreatingStage method getAllDeployments.

protected void getAllDeployments(ApplicationRuntimeModel application) throws IOException, DeploymentException {
    Enumeration<URL> urls = appClassLoader.getResources(SofaBootConstants.SOFA_MODULE_FILE);
    if (urls == null || !urls.hasMoreElements()) {
        return;
    }
    while (urls.hasMoreElements()) {
        URL url = urls.nextElement();
        UrlResource urlResource = new UrlResource(url);
        Properties props = new Properties();
        props.load(urlResource.getInputStream());
        DeploymentDescriptorConfiguration deploymentDescriptorConfiguration = new DeploymentDescriptorConfiguration(Collections.singletonList(SofaBootConstants.MODULE_NAME), Collections.singletonList(SofaBootConstants.REQUIRE_MODULE));
        DeploymentDescriptor dd = DeploymentBuilder.build(url, props, deploymentDescriptorConfiguration, appClassLoader);
        if (application.isModuleDeployment(dd)) {
            if (sofaModuleProfileChecker.acceptModule(dd)) {
                validateDuplicateModule(application.addDeployment(dd), dd);
            } else {
                application.addInactiveDeployment(dd);
            }
        }
    }
}
Also used : DeploymentDescriptorConfiguration(com.alipay.sofa.isle.deployment.DeploymentDescriptorConfiguration) UrlResource(org.springframework.core.io.UrlResource) DeploymentDescriptor(com.alipay.sofa.isle.deployment.DeploymentDescriptor) SofaModuleProperties(com.alipay.sofa.isle.spring.config.SofaModuleProperties) Properties(java.util.Properties) URL(java.net.URL)

Example 13 with DeploymentDescriptorConfiguration

use of com.alipay.sofa.isle.deployment.DeploymentDescriptorConfiguration in project sofa-boot by sofastack.

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();
}
Also used : DeploymentDescriptorConfiguration(com.alipay.sofa.isle.deployment.DeploymentDescriptorConfiguration) AbstractApplicationContext(org.springframework.context.support.AbstractApplicationContext) ConfigurableEnvironment(org.springframework.core.env.ConfigurableEnvironment) SpringContextInstallStage(com.alipay.sofa.isle.stage.SpringContextInstallStage) DefaultModuleDeploymentValidator(com.alipay.sofa.isle.deployment.impl.DefaultModuleDeploymentValidator) SofaModuleProperties(com.alipay.sofa.isle.spring.config.SofaModuleProperties) Properties(java.util.Properties) URL(java.net.URL) ApplicationRuntimeModel(com.alipay.sofa.isle.ApplicationRuntimeModel) SofaModuleProperties(com.alipay.sofa.isle.spring.config.SofaModuleProperties) Test(org.junit.Test)

Example 14 with DeploymentDescriptorConfiguration

use of com.alipay.sofa.isle.deployment.DeploymentDescriptorConfiguration in project sofa-boot by sofastack.

the class TestModelCreatingStage method getAllDeployments.

@Override
protected void getAllDeployments(ApplicationRuntimeModel application) throws IOException {
    Enumeration<URL> urls = appClassLoader.getResources("META-INF/" + SofaBootConstants.SOFA_MODULE_FILE);
    if (urls == null || !urls.hasMoreElements()) {
        return;
    }
    while (urls.hasMoreElements()) {
        URL url = urls.nextElement();
        UrlResource urlResource = new UrlResource(url);
        Properties props = new Properties();
        props.load(urlResource.getInputStream());
        DeploymentDescriptorConfiguration deploymentDescriptorConfiguration = new DeploymentDescriptorConfiguration(Collections.singletonList(SofaBootConstants.MODULE_NAME), Collections.singletonList(SofaBootConstants.REQUIRE_MODULE));
        DeploymentDescriptor dd = DeploymentBuilder.build(url, props, deploymentDescriptorConfiguration, appClassLoader);
        if (application.isModuleDeployment(dd)) {
            if (sofaModuleProfileChecker.acceptModule(dd)) {
                application.addDeployment(dd);
            } else {
                application.addInactiveDeployment(dd);
            }
        }
    }
}
Also used : DeploymentDescriptorConfiguration(com.alipay.sofa.isle.deployment.DeploymentDescriptorConfiguration) UrlResource(org.springframework.core.io.UrlResource) DeploymentDescriptor(com.alipay.sofa.isle.deployment.DeploymentDescriptor) Properties(java.util.Properties) URL(java.net.URL)

Aggregations

DeploymentDescriptorConfiguration (com.alipay.sofa.isle.deployment.DeploymentDescriptorConfiguration)14 Properties (java.util.Properties)14 DeploymentDescriptor (com.alipay.sofa.isle.deployment.DeploymentDescriptor)12 URL (java.net.URL)12 SofaModuleProperties (com.alipay.sofa.isle.spring.config.SofaModuleProperties)8 Test (org.junit.Test)8 ApplicationRuntimeModel (com.alipay.sofa.isle.ApplicationRuntimeModel)6 DefaultModuleDeploymentValidator (com.alipay.sofa.isle.deployment.impl.DefaultModuleDeploymentValidator)6 UrlResource (org.springframework.core.io.UrlResource)6 FileDeploymentDescriptor (com.alipay.sofa.isle.deployment.impl.FileDeploymentDescriptor)4 BeanStat (com.alipay.sofa.boot.startup.BeanStat)2 JarDeploymentDescriptor (com.alipay.sofa.isle.deployment.impl.JarDeploymentDescriptor)2 BeanLoadCostBeanFactory (com.alipay.sofa.isle.spring.factory.BeanLoadCostBeanFactory)2 SpringContextInstallStage (com.alipay.sofa.isle.stage.SpringContextInstallStage)2 File (java.io.File)2 BeanFactory (org.springframework.beans.factory.BeanFactory)2 DefaultListableBeanFactory (org.springframework.beans.factory.support.DefaultListableBeanFactory)2 EnableConfigurationProperties (org.springframework.boot.context.properties.EnableConfigurationProperties)2 SpringBootTest (org.springframework.boot.test.context.SpringBootTest)2 ApplicationContext (org.springframework.context.ApplicationContext)2