Example usage for org.hibernate.resource.beans.container.spi BeanContainer getBean

List of usage examples for org.hibernate.resource.beans.container.spi BeanContainer getBean

Introduction

In this page you can find the example usage for org.hibernate.resource.beans.container.spi BeanContainer getBean.

Prototype

<B> ContainedBean<B> getBean(String name, Class<B> beanType, LifecycleOptions lifecycleOptions,
            BeanInstanceProducer fallbackProducer);

Source Link

Usage

From source file:org.springframework.orm.jpa.hibernate.HibernateNativeEntityManagerFactorySpringBeanContainerIntegrationTests.java

License:Apache License

@Test
public void testCanRetrieveBeanByNameWithJpaCompliantOptions() {
    BeanContainer beanContainer = getBeanContainer();
    assertNotNull(beanContainer);/*from  w w w . j ava 2s.  c  om*/

    ContainedBean<MultiplePrototypesInSpringContextTestBean> bean = beanContainer.getBean("multiple-1",
            MultiplePrototypesInSpringContextTestBean.class, JpaLifecycleOptions.INSTANCE,
            IneffectiveBeanInstanceProducer.INSTANCE);

    assertNotNull(bean);
    MultiplePrototypesInSpringContextTestBean instance = bean.getBeanInstance();
    assertNotNull(instance);
    assertEquals("multiple-1", instance.getName());
    assertSame(applicationContext, instance.getApplicationContext());
}

From source file:org.springframework.orm.jpa.hibernate.HibernateNativeEntityManagerFactorySpringBeanContainerIntegrationTests.java

License:Apache License

@Test
public void testCanRetrieveBeanByNameWithNativeOptions() {
    BeanContainer beanContainer = getBeanContainer();
    assertNotNull(beanContainer);/* w  w  w.  j  ava  2 s  .c  o m*/

    ContainedBean<MultiplePrototypesInSpringContextTestBean> bean = beanContainer.getBean("multiple-1",
            MultiplePrototypesInSpringContextTestBean.class, NativeLifecycleOptions.INSTANCE,
            IneffectiveBeanInstanceProducer.INSTANCE);

    assertNotNull(bean);
    MultiplePrototypesInSpringContextTestBean instance = bean.getBeanInstance();
    assertNotNull(instance);
    assertEquals("multiple-1", instance.getName());
    assertSame(applicationContext, instance.getApplicationContext());

    ContainedBean<MultiplePrototypesInSpringContextTestBean> bean2 = beanContainer.getBean("multiple-1",
            MultiplePrototypesInSpringContextTestBean.class, NativeLifecycleOptions.INSTANCE,
            IneffectiveBeanInstanceProducer.INSTANCE);

    assertNotNull(bean2);
    MultiplePrototypesInSpringContextTestBean instance2 = bean2.getBeanInstance();
    assertNotNull(instance2);
    // Due to the lifecycle options, and because the bean has the "prototype" scope, we should not return the same instance
    assertNotSame(instance, instance2);
}

From source file:org.springframework.orm.jpa.hibernate.HibernateNativeEntityManagerFactorySpringBeanContainerIntegrationTests.java

License:Apache License

@Test
public void testCanRetrieveFallbackBeanByNameWithJpaCompliantOptions() {
    BeanContainer beanContainer = getBeanContainer();
    assertNotNull(beanContainer);//w  ww .j  a va 2 s  .  co  m
    NoDefinitionInSpringContextTestBeanInstanceProducer fallbackProducer = new NoDefinitionInSpringContextTestBeanInstanceProducer();

    ContainedBean<NoDefinitionInSpringContextTestBean> bean = beanContainer.getBean("some name",
            NoDefinitionInSpringContextTestBean.class, JpaLifecycleOptions.INSTANCE, fallbackProducer);

    assertEquals(0, fallbackProducer.currentUnnamedInstantiationCount());
    assertEquals(1, fallbackProducer.currentNamedInstantiationCount());

    assertNotNull(bean);
    NoDefinitionInSpringContextTestBean instance = bean.getBeanInstance();
    assertNotNull(instance);
    assertEquals(BeanSource.FALLBACK, instance.getSource());
    assertEquals("some name", instance.getName());
    assertNull(instance.getApplicationContext());
}

From source file:org.springframework.orm.jpa.hibernate.HibernateNativeEntityManagerFactorySpringBeanContainerIntegrationTests.java

License:Apache License

@Test
public void testCanRetrieveFallbackBeanByNameWithNativeOptions() {
    BeanContainer beanContainer = getBeanContainer();
    assertNotNull(beanContainer);/*from   ww w  .  j  a v  a 2s.c o  m*/
    NoDefinitionInSpringContextTestBeanInstanceProducer fallbackProducer = new NoDefinitionInSpringContextTestBeanInstanceProducer();

    ContainedBean<NoDefinitionInSpringContextTestBean> bean = beanContainer.getBean("some name",
            NoDefinitionInSpringContextTestBean.class, NativeLifecycleOptions.INSTANCE, fallbackProducer);

    assertEquals(0, fallbackProducer.currentUnnamedInstantiationCount());
    assertEquals(1, fallbackProducer.currentNamedInstantiationCount());

    assertNotNull(bean);
    NoDefinitionInSpringContextTestBean instance = bean.getBeanInstance();
    assertNotNull(instance);
    assertEquals(BeanSource.FALLBACK, instance.getSource());
    assertEquals("some name", instance.getName());
    assertNull(instance.getApplicationContext());
}