List of usage examples for org.springframework.context ConfigurableApplicationContext getBean
<T> T getBean(String name, Class<T> requiredType) throws BeansException;
From source file:de.iteratec.iteraplan.xmi.XmiImport.java
/** * Imports the XMI data.// www .j a va2s . c o m * * @throws IOException if the {@code iteraplanData.xmi} file will be not found */ public void importData() throws IOException { LOGGER.info("Start Bank Data Import"); ConfigurableApplicationContext context = prepareEnvironment(HistoryInitialization.USE_CONFIG_FILE); try { XmiImportService xmiDeserializer = context.getBean("xmiImportService", XmiImportService.class); Resource importFile = new ClassPathResource("de/iteratec/iteraplan/xmi/iteraplanData.xmi"); xmiDeserializer.importXmi(importFile.getInputStream()); LOGGER.info("XMI data imported successfuly"); } finally { context.close(); } }
From source file:org.springframework.cloud.function.adapter.aws.SpringFunctionInitializer.java
@SuppressWarnings("unchecked") protected void initialize() { if (!this.initialized.compareAndSet(false, true)) { return;/* w ww . j a v a 2 s . co m*/ } logger.info("Initializing: " + configurationClass); SpringApplicationBuilder builder = new SpringApplicationBuilder(configurationClass); ConfigurableApplicationContext context = builder.web(false).run(); context.getAutowireCapableBeanFactory().autowireBean(this); String name = context.getEnvironment().getProperty("function.name"); boolean defaultName = false; if (name == null) { name = "function"; defaultName = true; } if (this.catalog == null) { this.function = context.getBean(name, Function.class); } else { this.function = this.catalog.lookupFunction(name); this.name = name; if (this.function == null) { if (defaultName) { name = "consumer"; } this.consumer = this.catalog.lookupConsumer(name); this.name = name; if (this.consumer == null) { if (defaultName) { name = "supplier"; } this.supplier = this.catalog.lookupSupplier(name); this.name = name; } } } this.context = context; }
From source file:org.springframework.integration.history.MessageHistoryIntegrationTests.java
@Test public void testMessageHistoryWithHistoryWriter() { ConfigurableApplicationContext ac = new ClassPathXmlApplicationContext( "messageHistoryWithHistoryWriter.xml", MessageHistoryIntegrationTests.class); SampleGateway gateway = ac.getBean("sampleGateway", SampleGateway.class); DirectChannel endOfThePipeChannel = ac.getBean("endOfThePipeChannel", DirectChannel.class); MessageHandler handler = Mockito.spy(new MessageHandler() { @Override// ww w . j av a2 s.c o m public void handleMessage(Message<?> message) { Iterator<Properties> historyIterator = message.getHeaders() .get(MessageHistory.HEADER_NAME, MessageHistory.class).iterator(); Properties event = historyIterator.next(); assertEquals("sampleGateway", event.getProperty(MessageHistory.NAME_PROPERTY)); assertEquals("gateway", event.getProperty(MessageHistory.TYPE_PROPERTY)); event = historyIterator.next(); assertEquals("bridgeInChannel", event.getProperty(MessageHistory.NAME_PROPERTY)); assertEquals("channel", event.getProperty(MessageHistory.TYPE_PROPERTY)); event = historyIterator.next(); assertEquals("testBridge", event.getProperty(MessageHistory.NAME_PROPERTY)); assertEquals("bridge", event.getProperty(MessageHistory.TYPE_PROPERTY)); event = historyIterator.next(); assertEquals("headerEnricherChannel", event.getProperty(MessageHistory.NAME_PROPERTY)); assertEquals("channel", event.getProperty(MessageHistory.TYPE_PROPERTY)); event = historyIterator.next(); assertEquals("testHeaderEnricher", event.getProperty(MessageHistory.NAME_PROPERTY)); assertEquals("transformer", event.getProperty(MessageHistory.TYPE_PROPERTY)); event = historyIterator.next(); assertEquals("chainChannel", event.getProperty(MessageHistory.NAME_PROPERTY)); assertEquals("channel", event.getProperty(MessageHistory.TYPE_PROPERTY)); event = historyIterator.next(); assertEquals("sampleChain", event.getProperty(MessageHistory.NAME_PROPERTY)); assertEquals("chain", event.getProperty(MessageHistory.TYPE_PROPERTY)); event = historyIterator.next(); assertEquals("sampleChain$child.service-activator-within-chain", event.getProperty(MessageHistory.NAME_PROPERTY)); assertEquals("service-activator", event.getProperty(MessageHistory.TYPE_PROPERTY)); event = historyIterator.next(); assertEquals("filterChannel", event.getProperty(MessageHistory.NAME_PROPERTY)); assertEquals("channel", event.getProperty(MessageHistory.TYPE_PROPERTY)); event = historyIterator.next(); assertEquals("testFilter", event.getProperty(MessageHistory.NAME_PROPERTY)); assertEquals("filter", event.getProperty(MessageHistory.TYPE_PROPERTY)); event = historyIterator.next(); assertEquals("splitterChannel", event.getProperty(MessageHistory.NAME_PROPERTY)); assertEquals("channel", event.getProperty(MessageHistory.TYPE_PROPERTY)); event = historyIterator.next(); assertEquals("testSplitter", event.getProperty(MessageHistory.NAME_PROPERTY)); assertEquals("splitter", event.getProperty(MessageHistory.TYPE_PROPERTY)); event = historyIterator.next(); assertEquals("aggregatorChannel", event.getProperty(MessageHistory.NAME_PROPERTY)); assertEquals("channel", event.getProperty(MessageHistory.TYPE_PROPERTY)); event = historyIterator.next(); assertEquals("testAggregator", event.getProperty(MessageHistory.NAME_PROPERTY)); assertEquals("aggregator", event.getProperty(MessageHistory.TYPE_PROPERTY)); event = historyIterator.next(); assertEquals("endOfThePipeChannel", event.getProperty(MessageHistory.NAME_PROPERTY)); assertEquals("channel", event.getProperty(MessageHistory.TYPE_PROPERTY)); MessageChannel replyChannel = (MessageChannel) message.getHeaders().getReplyChannel(); replyChannel.send(message); } }); endOfThePipeChannel.subscribe(handler); Message<?> result = gateway.echo("hello"); Mockito.verify(handler, Mockito.times(1)).handleMessage(Mockito.any(Message.class)); assertNotNull(result); //assertEquals("hello", result); ac.close(); }
From source file:org.springframework.integration.history.MessageHistoryIntegrationTests.java
@Test public void testMessageHistoryWithoutHistoryWriter() { ConfigurableApplicationContext ac = new ClassPathXmlApplicationContext( "messageHistoryWithoutHistoryWriter.xml", MessageHistoryIntegrationTests.class); SampleGateway gateway = ac.getBean("sampleGateway", SampleGateway.class); DirectChannel endOfThePipeChannel = ac.getBean("endOfThePipeChannel", DirectChannel.class); MessageHandler handler = Mockito.spy(new MessageHandler() { @Override/*from w ww .j a va 2s .c o m*/ public void handleMessage(Message<?> message) { assertNull(message.getHeaders().get(MessageHistory.HEADER_NAME, MessageHistory.class)); MessageChannel replyChannel = (MessageChannel) message.getHeaders().getReplyChannel(); replyChannel.send(message); } }); endOfThePipeChannel.subscribe(handler); gateway.echo("hello"); Mockito.verify(handler, Mockito.times(1)).handleMessage(Mockito.any(Message.class)); ac.close(); }
From source file:org.springframework.integration.history.MessageHistoryIntegrationTests.java
@Test public void testMessageHistoryParser() { ConfigurableApplicationContext ac = new ClassPathXmlApplicationContext( "messageHistoryWithHistoryWriterNamespace.xml", MessageHistoryIntegrationTests.class); SampleGateway gateway = ac.getBean("sampleGateway", SampleGateway.class); DirectChannel endOfThePipeChannel = ac.getBean("endOfThePipeChannel", DirectChannel.class); MessageHandler handler = Mockito.spy(new MessageHandler() { @Override/*from ww w.j av a 2s.co m*/ public void handleMessage(Message<?> message) { Iterator<Properties> historyIterator = message.getHeaders() .get(MessageHistory.HEADER_NAME, MessageHistory.class).iterator(); assertTrue(historyIterator.hasNext()); MessageChannel replyChannel = (MessageChannel) message.getHeaders().getReplyChannel(); replyChannel.send(message); } }); endOfThePipeChannel.subscribe(handler); gateway.echo("hello"); Mockito.verify(handler, Mockito.times(1)).handleMessage(Mockito.any(Message.class)); ac.close(); }
From source file:org.springframework.integration.history.MessageHistoryIntegrationTests.java
@Test public void testMessageHistoryParserWithNamePatterns() { ConfigurableApplicationContext ac = new ClassPathXmlApplicationContext( "messageHistoryWithHistoryWriterNamespaceAndPatterns.xml", MessageHistoryIntegrationTests.class); SampleGateway gateway = ac.getBean("sampleGateway", SampleGateway.class); DirectChannel endOfThePipeChannel = ac.getBean("endOfThePipeChannel", DirectChannel.class); MessageHandler handler = Mockito.spy(new MessageHandler() { @Override//from ww w .j a va 2 s. c o m public void handleMessage(Message<?> message) { Iterator<Properties> historyIterator = message.getHeaders() .get(MessageHistory.HEADER_NAME, MessageHistory.class).iterator(); assertTrue(historyIterator.hasNext()); Properties gatewayHistory = historyIterator.next(); assertEquals("sampleGateway", gatewayHistory.get("name")); assertTrue(historyIterator.hasNext()); Properties chainHistory = historyIterator.next(); assertEquals("sampleChain", chainHistory.get("name")); assertFalse(historyIterator.hasNext()); MessageChannel replyChannel = (MessageChannel) message.getHeaders().getReplyChannel(); replyChannel.send(message); } }); endOfThePipeChannel.subscribe(handler); gateway.echo("hello"); Mockito.verify(handler, Mockito.times(1)).handleMessage(Mockito.any(Message.class)); ac.close(); }
From source file:org.springframework.integration.history.MessageHistoryIntegrationTests.java
@Test @Ignore/*from w w w .j a v a2 s .c o m*/ public void testMessageHistoryWithHistoryPerformance() { ConfigurableApplicationContext acWithHistory = new ClassPathXmlApplicationContext( "perfWithMessageHistory.xml", MessageHistoryIntegrationTests.class); ConfigurableApplicationContext acWithoutHistory = new ClassPathXmlApplicationContext( "perfWithoutMessageHistory.xml", MessageHistoryIntegrationTests.class); SampleGateway gatewayHistory = acWithHistory.getBean("sampleGateway", SampleGateway.class); DirectChannel endOfThePipeChannelHistory = acWithHistory.getBean("endOfThePipeChannel", DirectChannel.class); endOfThePipeChannelHistory.subscribe(message -> { MessageChannel replyChannel = (MessageChannel) message.getHeaders().getReplyChannel(); replyChannel.send(message); }); SampleGateway gateway = acWithoutHistory.getBean("sampleGateway", SampleGateway.class); DirectChannel endOfThePipeChannel = acWithoutHistory.getBean("endOfThePipeChannel", DirectChannel.class); endOfThePipeChannel.subscribe(message -> { MessageChannel replyChannel = (MessageChannel) message.getHeaders().getReplyChannel(); replyChannel.send(message); }); StopWatch stopWatch = new StopWatch(); stopWatch.start(); for (int i = 0; i < 10000; i++) { gatewayHistory.echo("hello"); } stopWatch.stop(); logger.info("Elapsed time with history 10000 calls: " + stopWatch.getTotalTimeSeconds()); stopWatch = new StopWatch(); stopWatch.start(); for (int i = 0; i < 10000; i++) { gateway.echo("hello"); } stopWatch.stop(); logger.info("Elapsed time without history 10000 calls: " + stopWatch.getTotalTimeSeconds()); acWithHistory.close(); acWithoutHistory.close(); }
From source file:org.springframework.integration.mail.ImapMailReceiverTests.java
@SuppressWarnings("resource") @Test/*from w w w . java 2s . c o m*/ @Ignore public void testMessageHistory() throws Exception { ConfigurableApplicationContext context = new ClassPathXmlApplicationContext( "ImapIdleChannelAdapterParserTests-context.xml", ImapIdleChannelAdapterParserTests.class); ImapIdleChannelAdapter adapter = context.getBean("simpleAdapter", ImapIdleChannelAdapter.class); AbstractMailReceiver receiver = new ImapMailReceiver(); receiver = spy(receiver); receiver.setBeanFactory(mock(BeanFactory.class)); receiver.afterPropertiesSet(); DirectFieldAccessor adapterAccessor = new DirectFieldAccessor(adapter); adapterAccessor.setPropertyValue("mailReceiver", receiver); MimeMessage mailMessage = mock(MimeMessage.class); Flags flags = mock(Flags.class); given(mailMessage.getFlags()).willReturn(flags); final Message[] messages = new Message[] { mailMessage }; willAnswer(invocation -> { DirectFieldAccessor accessor = new DirectFieldAccessor((invocation.getMock())); IMAPFolder folder = mock(IMAPFolder.class); accessor.setPropertyValue("folder", folder); given(folder.hasNewMessages()).willReturn(true); return null; }).given(receiver).openFolder(); willAnswer(invocation -> messages).given(receiver).searchForNewMessages(); willAnswer(invocation -> null).given(receiver).fetchMessages(messages); PollableChannel channel = context.getBean("channel", PollableChannel.class); adapter.start(); org.springframework.messaging.Message<?> replMessage = channel.receive(10000); MessageHistory history = MessageHistory.read(replMessage); assertNotNull(history); Properties componentHistoryRecord = TestUtils.locateComponentInHistory(history, "simpleAdapter", 0); assertNotNull(componentHistoryRecord); assertEquals("mail:imap-idle-channel-adapter", componentHistoryRecord.get("type")); adapter.stop(); context.close(); }
From source file:org.springframework.integration.mail.ImapMailReceiverTests.java
@Test public void testIdleChannelAdapterException() throws Exception { ConfigurableApplicationContext context = new ClassPathXmlApplicationContext( "ImapIdleChannelAdapterParserTests-context.xml", ImapIdleChannelAdapterParserTests.class); ImapIdleChannelAdapter adapter = context.getBean("simpleAdapter", ImapIdleChannelAdapter.class); //ImapMailReceiver receiver = (ImapMailReceiver) TestUtils.getPropertyValue(adapter, "mailReceiver"); DirectChannel channel = new DirectChannel(); channel.subscribe(new AbstractReplyProducingMessageHandler() { @Override/* w ww. j a v a2 s .c o m*/ protected Object handleRequestMessage(org.springframework.messaging.Message<?> requestMessage) { throw new RuntimeException("Failed"); } }); adapter.setOutputChannel(channel); QueueChannel errorChannel = new QueueChannel(); adapter.setErrorChannel(errorChannel); AbstractMailReceiver receiver = new ImapMailReceiver(); receiver = spy(receiver); receiver.setBeanFactory(mock(BeanFactory.class)); receiver.afterPropertiesSet(); Field folderField = AbstractMailReceiver.class.getDeclaredField("folder"); folderField.setAccessible(true); Folder folder = mock(IMAPFolder.class); given(folder.getPermanentFlags()).willReturn(new Flags(Flags.Flag.USER)); folderField.set(receiver, folder); willAnswer(invocation -> true).given(folder).isOpen(); willAnswer(invocation -> null).given(receiver).openFolder(); DirectFieldAccessor adapterAccessor = new DirectFieldAccessor(adapter); adapterAccessor.setPropertyValue("mailReceiver", receiver); MimeMessage mailMessage = mock(MimeMessage.class); Flags flags = mock(Flags.class); given(mailMessage.getFlags()).willReturn(flags); final Message[] messages = new Message[] { mailMessage }; willAnswer(invocation -> messages).given(receiver).searchForNewMessages(); willAnswer(invocation -> null).given(receiver).fetchMessages(messages); adapter.start(); org.springframework.messaging.Message<?> replMessage = errorChannel.receive(10000); assertNotNull(replMessage); assertEquals("Failed", ((Exception) replMessage.getPayload()).getCause().getMessage()); adapter.stop(); context.close(); }
From source file:org.springframework.integration.mail.ImapMailReceiverTests.java
@SuppressWarnings("resource") @Test/*from w w w . j ava 2 s .c o m*/ public void testNoInitialIdleDelayWhenRecentNotSupported() throws Exception { ConfigurableApplicationContext context = new ClassPathXmlApplicationContext( "ImapIdleChannelAdapterParserTests-context.xml", ImapIdleChannelAdapterParserTests.class); ImapIdleChannelAdapter adapter = context.getBean("simpleAdapter", ImapIdleChannelAdapter.class); QueueChannel channel = new QueueChannel(); adapter.setOutputChannel(channel); ImapMailReceiver receiver = new ImapMailReceiver("imap:foo"); receiver = spy(receiver); receiver.setBeanFactory(mock(BeanFactory.class)); receiver.afterPropertiesSet(); final IMAPFolder folder = mock(IMAPFolder.class); given(folder.getPermanentFlags()).willReturn(new Flags(Flags.Flag.USER)); given(folder.isOpen()).willReturn(false).willReturn(true); given(folder.exists()).willReturn(true); DirectFieldAccessor adapterAccessor = new DirectFieldAccessor(adapter); adapterAccessor.setPropertyValue("mailReceiver", receiver); Field storeField = AbstractMailReceiver.class.getDeclaredField("store"); storeField.setAccessible(true); Store store = mock(Store.class); given(store.isConnected()).willReturn(true); given(store.getFolder(Mockito.any(URLName.class))).willReturn(folder); storeField.set(receiver, store); willAnswer(invocation -> folder).given(receiver).getFolder(); MimeMessage mailMessage = mock(MimeMessage.class); Flags flags = mock(Flags.class); given(mailMessage.getFlags()).willReturn(flags); final Message[] messages = new Message[] { mailMessage }; final AtomicInteger shouldFindMessagesCounter = new AtomicInteger(2); willAnswer(invocation -> { /* * Return the message from first invocation of waitForMessages() * and in receive(); then return false in the next call to * waitForMessages() so we enter idle(); counter will be reset * to 1 in the mocked idle(). */ if (shouldFindMessagesCounter.decrementAndGet() >= 0) { return messages; } else { return new Message[0]; } }).given(receiver).searchForNewMessages(); willAnswer(invocation -> null).given(receiver).fetchMessages(messages); willAnswer(invocation -> { Thread.sleep(5000); shouldFindMessagesCounter.set(1); return null; }).given(folder).idle(); adapter.start(); /* * Idle takes 5 seconds; if all is well, we should receive the first message * before then. */ assertNotNull(channel.receive(3000)); // We should not receive any more until the next idle elapses assertNull(channel.receive(3000)); assertNotNull(channel.receive(6000)); adapter.stop(); context.close(); }