Example usage for org.springframework.context ConfigurableApplicationContext getId

List of usage examples for org.springframework.context ConfigurableApplicationContext getId

Introduction

In this page you can find the example usage for org.springframework.context ConfigurableApplicationContext getId.

Prototype

@Nullable
String getId();

Source Link

Document

Return the unique id of this application context.

Usage

From source file:com.example.config.BeanCountingApplicationListener.java

@SuppressWarnings("resource")
@Override/*from   w  ww. j  a  v  a2  s  .  c o m*/
public void onApplicationEvent(ApplicationReadyEvent event) {
    if (!event.getApplicationContext().equals(this.context)) {
        return;
    }
    int count = 0;
    ConfigurableApplicationContext context = event.getApplicationContext();
    String id = context.getId();
    List<String> names = new ArrayList<>();
    while (context != null) {
        count += context.getBeanDefinitionCount();
        names.addAll(Arrays.asList(context.getBeanDefinitionNames()));
        context = (ConfigurableApplicationContext) context.getParent();
    }
    logger.info("Bean count: " + id + "=" + count);
    logger.debug("Bean names: " + id + "=" + names);
    try {
        logger.info("Class count: " + id + "="
                + ManagementFactory.getClassLoadingMXBean().getTotalLoadedClassCount());
    } catch (Exception e) {
    }
}

From source file:at.ac.univie.isc.asio.spring.SpringContextFactoryTest.java

@Test
public void should_assign_unique_ids() throws Exception {
    final ConfigurableApplicationContext first = subject.named("test");
    final ConfigurableApplicationContext second = subject.named("test");
    assertThat(first.getId(), not(equalTo(second.getId())));
}

From source file:guru.qas.martini.jmeter.config.MartiniSpringConfiguration.java

@Override
public void testStarted() {
    synchronized (contextRef) {
        ConfigurableApplicationContext context = initializeContext();
        ConfigurableApplicationContext previous = contextRef.getAndSet(context);
        if (null != previous) {
            previous.close();//from w w  w.  j av a  2  s  .  co  m
        }

        String hostname = JMeterUtils.getLocalHostName();
        String ip = JMeterUtils.getLocalHostIP();
        String name = super.getName();
        String id = context.getId();
        long startupDate = context.getStartupDate();
        String username = System.getProperty("user.name");

        ConfigurableEnvironment environment = context.getEnvironment();
        String[] activeProfiles = environment.getActiveProfiles();
        ArrayList<String> profiles = Lists.newArrayList(activeProfiles);

        Map<String, String> environmentVariables = this.getEnvironmentProperties().getArgumentsAsMap();

        SuiteIdentifier identifier = DefaultSuiteIdentifier.builder().setId(id).setStartupTimestamp(startupDate)
                .setName(name).setHostname(hostname).setHostAddress(ip).setUsername(username)
                .setProfiles(profiles).setEnvironmentVariables(environmentVariables).build();

        ConfigurableListableBeanFactory beanFactory = context.getBeanFactory();
        beanFactory.registerSingleton(BEAN_SUITE_IDENTIFIER, identifier);

        EventManager eventManager = context.getBean(EventManager.class);
        eventManager.publishBeforeSuite(this, identifier);
    }
}

From source file:org.springframework.data.gemfire.support.SpringContextBootstrappingInitializerTest.java

@Test
public void testInitWithExistingApplicationContext() {
    ConfigurableApplicationContext mockApplicationContext = mock(ConfigurableApplicationContext.class,
            "testInitWithExistingApplicationContext");

    when(mockApplicationContext.isActive()).thenReturn(true);
    when(mockApplicationContext.getId()).thenReturn("testInitWithExistingApplicationContext");

    SpringContextBootstrappingInitializer.applicationContext = mockApplicationContext;

    assertSame(mockApplicationContext, SpringContextBootstrappingInitializer.getApplicationContext());

    SpringContextBootstrappingInitializer initializer = new SpringContextBootstrappingInitializer();

    initializer.init(createParameters("test", "test"));

    verify(mockApplicationContext, never())
            .addApplicationListener(any(SpringContextBootstrappingInitializer.class));
    verify(mockApplicationContext, never()).registerShutdownHook();
    verify(mockApplicationContext, never()).refresh();

    assertSame(mockApplicationContext, SpringContextBootstrappingInitializer.getApplicationContext());
}

From source file:org.springframework.data.gemfire.support.SpringContextBootstrappingInitializerTest.java

@Test
public void testInitWhenApplicationContextIsNull() {
    assertNull(SpringContextBootstrappingInitializer.applicationContext);

    final ConfigurableApplicationContext mockApplicationContext = mock(ConfigurableApplicationContext.class,
            "testInitWhenApplicationContextIsNull");

    when(mockApplicationContext.getId()).thenReturn("testInitWhenApplicationContextIsNull");
    when(mockApplicationContext.isRunning()).thenReturn(true);

    SpringContextBootstrappingInitializer initializer = new SpringContextBootstrappingInitializer() {
        @Override// www .  ja  va  2s . c  o  m
        protected ConfigurableApplicationContext createApplicationContext(final String[] basePackages,
                final String[] configLocations) {
            return mockApplicationContext;
        }
    };

    initializer.init(createParameters(SpringContextBootstrappingInitializer.CONTEXT_CONFIG_LOCATIONS_PARAMETER,
            "/path/to/spring/application/context.xml"));

    verify(mockApplicationContext, times(1)).addApplicationListener(same(initializer));
    verify(mockApplicationContext, times(1)).registerShutdownHook();
    verify(mockApplicationContext, times(1)).refresh();

    assertSame(mockApplicationContext, SpringContextBootstrappingInitializer.getApplicationContext());
}

From source file:org.springframework.data.gemfire.support.SpringContextBootstrappingInitializerTest.java

@Test
public void testInitWhenApplicationContextIsInactive() {
    ConfigurableApplicationContext mockInactiveApplicationContext = mock(ConfigurableApplicationContext.class,
            "testInitWhenApplicationContextIsInactive.Inactive");

    when(mockInactiveApplicationContext.isActive()).thenReturn(false);

    SpringContextBootstrappingInitializer.applicationContext = mockInactiveApplicationContext;

    assertSame(mockInactiveApplicationContext, SpringContextBootstrappingInitializer.getApplicationContext());

    final ConfigurableApplicationContext mockNewApplicationContext = mock(ConfigurableApplicationContext.class,
            "testInitWhenApplicationContextIsInactive.New");

    when(mockNewApplicationContext.getId()).thenReturn("testInitWhenApplicationContextIsInactive.New");
    when(mockNewApplicationContext.isRunning()).thenReturn(true);

    SpringContextBootstrappingInitializer initializer = new SpringContextBootstrappingInitializer() {
        @Override//from w  w w. j a  va  2 s  .  c  om
        protected ConfigurableApplicationContext createApplicationContext(final String[] basePackages,
                final String[] configLocations) {
            return mockNewApplicationContext;
        }
    };

    initializer.init(
            createParameters(SpringContextBootstrappingInitializer.BASE_PACKAGES_PARAMETER, "org.example.app"));

    verify(mockNewApplicationContext, times(1)).addApplicationListener(same(initializer));
    verify(mockNewApplicationContext, times(1)).registerShutdownHook();
    verify(mockNewApplicationContext, times(1)).refresh();

    assertSame(mockNewApplicationContext, SpringContextBootstrappingInitializer.getApplicationContext());
}

From source file:org.springframework.data.gemfire.support.SpringContextBootstrappingInitializerTest.java

@Test(expected = IllegalStateException.class)
public void testInitWhenApplicationContextIsNotRunning() {
    assertNull(SpringContextBootstrappingInitializer.applicationContext);

    final ConfigurableApplicationContext mockApplicationContext = mock(ConfigurableApplicationContext.class,
            "testInitWhenApplicationContextIsNotRunning");

    when(mockApplicationContext.getId()).thenReturn("testInitWhenApplicationContextIsNotRunning");
    when(mockApplicationContext.isRunning()).thenReturn(false);

    SpringContextBootstrappingInitializer initializer = new SpringContextBootstrappingInitializer() {
        @Override//  www.  ja v a  2 s .co m
        protected ConfigurableApplicationContext createApplicationContext(final String[] basePackages,
                final String[] configLocations) {
            return mockApplicationContext;
        }
    };

    try {
        initializer.init(createParameters(SpringContextBootstrappingInitializer.BASE_PACKAGES_PARAMETER,
                "org.example.app, org.example.plugins"));

        SpringContextBootstrappingInitializer.getApplicationContext();
    } catch (ApplicationContextException expected) {
        assertTrue(expected.getMessage().contains("Failed to bootstrap the Spring ApplicationContext!"));
        assertTrue(expected.getCause() instanceof IllegalStateException);
        assertEquals(
                "The Spring ApplicationContext (testInitWhenApplicationContextIsNotRunning) failed to be properly initialized with the context config files ([]) or base packages ([org.example.app, org.example.plugins])!",
                expected.getCause().getMessage());
        throw (IllegalStateException) expected.getCause();
    } finally {
        verify(mockApplicationContext, times(1)).addApplicationListener(same(initializer));
        verify(mockApplicationContext, times(1)).registerShutdownHook();
        verify(mockApplicationContext, times(1)).refresh();

        assertNull(SpringContextBootstrappingInitializer.applicationContext);
    }
}

From source file:org.springframework.samples.petclinic.system.BeanCountingApplicationListener.java

@SuppressWarnings("resource")
@Override//www  .j av  a2 s  .c o m
public void onApplicationEvent(ContextRefreshedEvent event) {
    if (!event.getApplicationContext().equals(this.context)) {
        return;
    }
    int count = 0;
    ConfigurableApplicationContext context = (ConfigurableApplicationContext) event.getApplicationContext();
    String id = context.getId();
    List<String> names = new ArrayList<>();
    while (context != null) {
        count += context.getBeanDefinitionCount();
        names.addAll(Arrays.asList(context.getBeanDefinitionNames()));
        context = (ConfigurableApplicationContext) context.getParent();
    }
    logger.info("Bean count: " + id + "=" + count);
    logger.debug("Bean names: " + id + "=" + names);
    try {
        logger.info("Class count: " + id + "="
                + ManagementFactory.getClassLoadingMXBean().getTotalLoadedClassCount());
    } catch (Exception e) {
    }
}