private String[] printBeans() {
AutowireCapableBeanFactory autowireCapableBeanFactory = applicationContext.getAutowireCapableBeanFactory();
if (autowireCapableBeanFactory instanceof SingletonBeanRegistry) {
String[] singletonNames = ((SingletonBeanRegistry) autowireCapableBeanFactory).getSingletonNames();
for (String singleton : singletonNames) {
System.out.println(singleton);
}
return singletonNames;
}
return null;
}
B bean = new B();
AutowireCapableBeanFactory factory = applicationContext.getAutowireCapableBeanFactory();
factory.autowireBean( bean );
factory.initializeBean( bean, "bean" );
// try to use the default configuration as much as possible
ObjectMapper om = Jackson2ObjectMapperBuilder.json().build();
// This instantiator will handle autowiring properties into the custom serializers
om.setHandlerInstantiator(
new SpringHandlerInstantiator(this.applicationContext.getAutowireCapableBeanFactory()));
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
beanFactory = applicationContext.getAutowireCapableBeanFactory();
}
AutowireCapableBeanFactory autowireFactory = applicationContext.getAutowireCapableBeanFactory();
autowireFactory.autowireBean(processor);
@Override
public void init(FilterConfig filterConfig) throws ServletException {
String module = getModule(filterConfig);
ApplicationContext applicationContext = CloudStackSpringContext.getApplicationContext(filterConfig.getServletContext(), module);
if (applicationContext != null) {
AutowireCapableBeanFactory factory = applicationContext.getAutowireCapableBeanFactory();
if (factory != null) {
factory.autowireBean(this);
enabled = true;
}
}
}
public static void registerSingleton(ApplicationContext applicationContext, String beanName, Object singletonObject) {
AutowireCapableBeanFactory beanFactory = applicationContext.getAutowireCapableBeanFactory();
if (!SingletonBeanRegistry.class.isAssignableFrom(beanFactory.getClass())) {
throw new IllegalArgumentException(
"ApplicationContext: " + applicationContext.getClass().toString()
+ " doesn't implements SingletonBeanRegistry, cannot register JMS connection at runtime");
}
SingletonBeanRegistry beanDefinitionRegistry = (SingletonBeanRegistry) beanFactory;
beanDefinitionRegistry.registerSingleton(beanName, singletonObject);
}
protected void doInitialize() throws Exception {
provider.getProviders().forEach(p -> {
final FlowDefinitionRegistry duoFlowRegistry = buildDuoFlowRegistry(p);
applicationContext.getAutowireCapableBeanFactory().initializeBean(duoFlowRegistry, p.getId());
final ConfigurableListableBeanFactory cfg = (ConfigurableListableBeanFactory) applicationContext.getAutowireCapableBeanFactory();
cfg.registerSingleton(p.getId(), duoFlowRegistry);
registerMultifactorProviderAuthenticationWebflow(getLoginFlow(), p.getId(), duoFlowRegistry);
});
casProperties.getAuthn().getMfa().getDuo().stream().filter(MultifactorAuthenticationProperties.Duo::isTrustedDeviceEnabled).forEach(duo -> {
final String id = duo.getId();
try {
LOGGER.debug("Activating multifactor trusted authentication for webflow [{}]", id);
final FlowDefinitionRegistry registry = applicationContext.getBean(id, FlowDefinitionRegistry.class);
registerMultifactorTrustedAuthentication(registry);
} catch (final Exception e) {
LOGGER.error("Failed to register multifactor trusted authentication for " + id, e);
}
});
}
public void injectionUsingConstrettoWithEnvironmentSetAndUsinginterface(){
class MyConsumer {
@Autowired CommonInterface commonInterface;
}
setProperty(ASSEMBLY_KEY,"stub");
ApplicationContext ctx=loadContextAndInjectWithConstretto();
MyConsumer consumer=new MyConsumer();
ctx.getAutowireCapableBeanFactory().autowireBean(consumer);
Assert.assertEquals(consumer.commonInterface.getClass(),CommonInterfaceStub.class);
}
public static void main(String[] args) throws Exception {
if (args.length != 1) {
System.out.println("java " + PluginLoader.class.getName() + " <plugin-dir>");
System.exit(1);
}
ApplicationContext context=new ClassPathXmlApplicationContext("classpath:META-INF/00_system.xml");
PluginLoader pl=new PluginLoader(args[0]);
ClassLoader cl=pl.loadPlugins();
PluggableTaskFlowProvider provider=(PluggableTaskFlowProvider)context.getAutowireCapableBeanFactory().getBean("taskFlowProvider");
provider.setCl(cl);
provider.loadPlugins();
provider.listPlugins();
System.exit(0);
}