Jerarquía de contextos primaverales

Voy a crear varios contextos Spring con un contexto padre. Aquí es cómo voy a crear el contexto de los padres:

new ClassPathXmlApplicationContext(new String[] {"ApplicationContext/application.xml"})

Y cada contexto padre que quiero crear de la siguiente manera:

PropertyPlaceholderConfigurer configurer = new PropertyPlaceholderConfigurer();
configurer.setProperties(properties);
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(appContext);
context.addBeanFactoryPostProcessor(configurer);
context.setConfigLocation("ApplicationContext/beans.xml");
context.refresh();

La idea es tener múltiples contextos secundarios con la misma jerarquía de beans en cada uno de ellos (DAO, servicios, fuente de datos, administrador de transacciones, etc.). La razón para tener varios contextos es la demanda para tener varias fuentes de datos diferentes (una por cada contexto de aplicación en realidad). La estructura de la base de datos para cada fuente de datos es la misma. Por lo tanto, hay algunas preguntas.

¿Es seguro tener tal jerarquía de contextos? Por ejemplo, si hay 30 contextos infantiles?¿Qué pasa con la visibilidad de frijol en el contexto infantil? Decir tengoServicio al cliente frijol declarado con@Componente Anotación con varias dependencias DAO automáticas. ¿Spring realiza el cableado automático y otras acciones de DI dentro de un contexto secundario particular?Además, voy a buscar beans desde el contexto de un niño usando el siguiente método:childContext.getBean (CustomerService.class); ¿Obtengo el servicio al cliente de este contexto infantil específico y no de otro contexto infantil? Lo sé, ese singleton de primavera es un singleton por contexto de aplicación, pero aún no estoy seguro.

PD. Hay otra forma de manejar múltiples fuentes de datos descritasaquí. Pero este enfoque parece no ser realmente conveniente en mi caso.

Respuestas a la pregunta(1)

Su respuesta a la pregunta