View Javadoc
1   package io.github.magwas.inez.osgi;
2   
3   import org.osgi.framework.BundleContext;
4   import org.osgi.framework.ServiceReference;
5   import org.springframework.beans.BeansException;
6   import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
7   import org.springframework.beans.factory.support.BeanDefinitionRegistry;
8   import org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor;
9   
10  import io.github.magwas.inez.parse.ParseTextService;
11  import io.github.magwas.runtime.ObjectCache;
12  
13  public class MyBeanRegistrar implements BeanDefinitionRegistryPostProcessor {
14  	@Override
15  	public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry)
16  			throws BeansException {
17  	}
18  
19  	@Override
20  	public void postProcessBeanFactory(
21  			ConfigurableListableBeanFactory beanFactory) throws BeansException {
22  		BundleContext bundleContext = SpringBootBundleActivator.bundleContext;
23  		ServiceReference<ParseTextService> ref = bundleContext
24  				.getServiceReference(ParseTextService.class);
25  		ParseTextService parseText = bundleContext.getService(ref);
26  		beanFactory.registerSingleton("parseTextService", parseText);
27  		ObjectCache objectCache = new ObjectCache();
28  		beanFactory.registerSingleton("objectCache", objectCache);
29  	}
30  }