use of org.springframework.beans.factory.config.ConfigurableListableBeanFactory in project turbo-rpc by hank-whu.
the class TurboClientStarter method extractTurboServiceClassList.
private Collection<Class<?>> extractTurboServiceClassList(ConfigurableListableBeanFactory beanFactory) {
LocalDateTime startTime = LocalDateTime.now();
Set<Class<?>> turboServiceSet = new HashSet<>();
String[] beanNames = beanFactory.getBeanDefinitionNames();
for (int i = 0; i < beanNames.length; i++) {
String beanName = beanNames[i];
BeanDefinition beanDefinition = beanFactory.getBeanDefinition(beanName);
String beanClassName = beanDefinition.getBeanClassName();
extractTurboServiceClass(turboServiceSet, beanClassName);
}
if (logger.isInfoEnabled()) {
LocalDateTime finishTime = LocalDateTime.now();
Duration duration = Duration.between(startTime, finishTime);
String turboServiceString = //
turboServiceSet.stream().map(//
clazz -> clazz.getName()).collect(Collectors.joining(",", "[", "]"));
logger.info("扫描到TurboService: " + turboServiceString);
logger.info("扫描TurboService耗时: " + duration);
}
return turboServiceSet;
}
use of org.springframework.beans.factory.config.ConfigurableListableBeanFactory in project spring-cloud-stream by spring-cloud.
the class DestinationPublishingMetricsAutoConfiguration method metersPublisherBindingRegistrant.
@Bean
public BeanFactoryPostProcessor metersPublisherBindingRegistrant() {
return new BeanFactoryPostProcessor() {
@Override
public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException {
RootBeanDefinition emitterBindingDefinition = new RootBeanDefinition(BindableProxyFactory.class);
emitterBindingDefinition.getConstructorArgumentValues().addGenericArgumentValue(MetersPublisherBinding.class);
((DefaultListableBeanFactory) beanFactory).registerBeanDefinition(MetersPublisherBinding.class.getName(), emitterBindingDefinition);
}
};
}
use of org.springframework.beans.factory.config.ConfigurableListableBeanFactory in project archiva by apache.
the class ArchivaDavResourceFactoryTest method testRequestMetadataRepoIsLegacy.
@Test
public void testRequestMetadataRepoIsLegacy() throws Exception {
ManagedRepositoryContent legacyRepo = createManagedRepositoryContent(LEGACY_REPO);
ConfigurableListableBeanFactory beanFactory = ((ConfigurableApplicationContext) applicationContext).getBeanFactory();
RepositoryContentProvider provider = createRepositoryContentProvider(legacyRepo);
beanFactory.registerSingleton("repositoryContentProvider#legacy", provider);
RepositoryContentFactory repoContentFactory = applicationContext.getBean("repositoryContentFactory#default", RepositoryContentFactory.class);
repoContentFactory.getRepositoryContentProviders().add(provider);
defaultManagedRepositoryAdmin.addManagedRepository(createManagedRepository(LEGACY_REPO, Paths.get("target/test-classes/" + LEGACY_REPO).toString(), "legacy"), false, null);
DavResourceLocator locator = new ArchivaDavResourceLocator("", "/repository/" + LEGACY_REPO + "/eclipse/maven-metadata.xml", LEGACY_REPO, new ArchivaDavLocatorFactory());
// use actual object (this performs the isMetadata, isDefault and isSupportFile check!)
RepositoryRequest repoRequest = new RepositoryRequest();
resourceFactory.setRepositoryRequest(repoRequest);
try {
archivaConfigurationControl.reset();
expect(archivaConfiguration.getConfiguration()).andReturn(config).times(2);
expect(repoFactory.getManagedRepositoryContent(LEGACY_REPO)).andReturn(legacyRepo);
expect(request.getMethod()).andReturn("GET").times(3);
expect(request.getRemoteAddr()).andReturn("http://localhost:8080").times(3);
expect(request.getDavSession()).andReturn(new ArchivaDavSession()).times(2);
expect(request.getContextPath()).andReturn("").times(2);
archivaConfigurationControl.replay();
repoContentFactoryControl.replay();
requestControl.replay();
resourceFactory.createResource(locator, request, response);
archivaConfigurationControl.verify();
repoContentFactoryControl.verify();
requestControl.verify();
fail("A 404 error should have been thrown!");
} catch (DavException e) {
assertEquals(404, e.getErrorCode());
}
}
use of org.springframework.beans.factory.config.ConfigurableListableBeanFactory in project spring-integration by spring-projects.
the class GatewayParserTests method testFactoryBeanObjectTypeWithServiceInterface.
@Test
public void testFactoryBeanObjectTypeWithServiceInterface() throws Exception {
ConfigurableListableBeanFactory beanFactory = ((GenericApplicationContext) context).getBeanFactory();
Object attribute = beanFactory.getMergedBeanDefinition("&oneWay").getAttribute(IntegrationConfigUtils.FACTORY_BEAN_OBJECT_TYPE);
assertEquals(TestService.class.getName(), attribute);
}
use of org.springframework.beans.factory.config.ConfigurableListableBeanFactory in project spring-integration by spring-projects.
the class ApplicationEventListeningMessageProducerTests method testPayloadEvents.
@Test
public void testPayloadEvents() {
GenericApplicationContext ctx = TestUtils.createTestApplicationContext();
ConfigurableListableBeanFactory beanFactory = ctx.getBeanFactory();
QueueChannel channel = new QueueChannel();
ApplicationEventListeningMessageProducer listenerMessageProducer = new ApplicationEventListeningMessageProducer();
listenerMessageProducer.setOutputChannel(channel);
listenerMessageProducer.setEventTypes(String.class);
beanFactory.registerSingleton("testListenerMessageProducer", listenerMessageProducer);
ctx.refresh();
ctx.publishEvent("foo");
Message<?> receive = channel.receive(10000);
assertNotNull(receive);
assertEquals("foo", receive.getPayload());
ctx.close();
}
Aggregations