Commit Graph

501 Commits

Author SHA1 Message Date
Mark Fisher
6b6db1b59a Formatting. 2008-10-13 14:00:27 +00:00
Mark Fisher
f99911cf89 Removed ChannelRegistry. It has been replaced by the ChannelResolver strategy. 2008-10-13 02:40:15 +00:00
Mark Fisher
8419b48dcd Publisher annotation interceptor now delegates to a ChannelResolver instance rather than a ChannelRegistry. 2008-10-13 02:03:31 +00:00
Mark Fisher
a8d25f6171 Removed ChannelRegistryAware. The AbstractReplyProducingMessageConsumer now uses a BeanFactoryChannelResolver and is therefore now BeanFactoryAware. The annotation post-processors set the BeanFactoryChannelResolver when creating such a consumer (since it is not created within the ApplicationContext in that case). 2008-10-13 00:40:19 +00:00
Mark Fisher
d4271811f3 Added MapBasedChannelResolver. Routers that want to provide an extra level of indirection may be configured with a map of channel names to channel instances rather than relying on the default BeanFactoryChannelResolver that matches the name against bean names directly. 2008-10-12 18:35:09 +00:00
Mark Fisher
8301d9b3a4 Moved ChannelResolver and BeanFactoryChannelResolver into the 'org.springframework.integration.channel' package. 2008-10-12 18:17:08 +00:00
Mark Fisher
b34e416093 The router hierarchy abstract method names are now 'determineTargetChannel', 'determineTargetChannelNames', etc (instead of "resolve..."). This clarifies the distinction between the target channel decision and the resolution of a channel *name* to a channel instance. The latter is now the responsibility of a ChannelResolver strategy, and all subclasses of AbstractChannelNameResolvingMessageRouter now delegate to a ChannelResolver after 'determineTargetChannelNames' has returned the channel name(s). In most cases, it will be a BeanFactoryChannelResolver. 2008-10-12 17:58:36 +00:00
Mark Fisher
0754889c5c ChannelMapping is now ChannelResolver, the BeanNameChannelResolver implementation is now BeanFactoryChannelResolver, and the AbstractChannelMappingMessageRouter base class is now AbstractChannelNameResolvingMessageRouter. The naming is primarily intended to be consistent with DestinationResolver in Spring's JMS support with the ChannelResolver's method name being 'resolveChannelName()' and its return value being a MessageChannel instance. Also, added a ChannelResolutionException. 2008-10-12 17:15:29 +00:00
Iwein Fuld
5c5b414cc4 OPEN - issue INT-412: Not possible to run parallell aggregators
http://jira.springframework.org/browse/INT-412
Added testcases (food for INT-413)
2008-10-12 06:40:50 +00:00
Mark Fisher
04fe19c91e increased await timeouts for transaction tests 2008-10-11 17:47:12 +00:00
Mark Fisher
f143ae5857 Removed 'getErrorChannel' method from MessageBus. 2008-10-11 17:27:07 +00:00
Mark Fisher
5a536586e1 Removed the 'registerChannel' method from DefaultMessageBus; all channels must be registered within the ApplicationContext. The MessageBusParser now creates the 'errorChannel' if no bean with that name is explicitly defined rather than creating it within the DefaultMessageBus initialization. 2008-10-11 17:20:52 +00:00
Mark Fisher
f7d04d911b Removed ChannelResolver interface now that the router hierarchy has been refactored. Routers that map from names to channels now delegate to a ChannelMapping. 2008-10-11 16:05:49 +00:00
Mark Fisher
b8551e13be Removed the 'registerChannel' method from the ChannelRegistry interface (most likely to be renamed as it is now used solely for lookup). 2008-10-11 15:54:58 +00:00
Mark Fisher
ec91ae8f08 Renamed RootCauseErrorMessageRouter to the more appropriate ErrorMessageExceptionTypeRouter (the routing is actually based on the most-specific Exception type available in the exceptionTypeChannelMap). 2008-10-10 23:58:27 +00:00
Mark Fisher
045011318e RouterAnnotationPostProcessor now provides the beanFactory reference to the MethodInvokingRouter it creates. 2008-10-10 23:54:17 +00:00
Mark Fisher
cb90d39657 Refactored router hierarchy by adding an AbstractMessageRouter base class and removing the ChannelResolver delegation. The routers that return channel names now accept a ChannelMapping strategy. The BeanNameChannelMapping is typically used as a default. The mapping routers also support "prefix" and "suffix" properties. 2008-10-10 23:47:22 +00:00
Mark Fisher
d0f6684c6a Moving tests to match the package of the classes under test. 2008-10-10 19:57:52 +00:00
Mark Fisher
24793ead19 Separated annotation post processors and bean definition parsers into 'annotation' and 'xml' sub-packages of the 'org.springframework.integration.config' package. 2008-10-10 18:55:24 +00:00
Mark Fisher
11e53cf7e7 Moved GatewayParser, AbstractTransformerParser, and SimpleHeaderEnricherParser into org.springframework.integration.config to avoid dependency cycles. 2008-10-10 17:11:18 +00:00
Mark Fisher
0dfe9ca191 Added support for "taskExecutor" on the @Poller annotation. This requires a reference to a TaskExecutor instance resolvable by bean name (INT-409). 2008-10-10 14:48:11 +00:00
Mark Fisher
526f4b25dc Moved common annotation configuration logic from ChannelAdapterAnnotationPostProcessor and AbstractMethodAnnotationPostProcessor into the new AnnotationConfigUtils class (INT-411). 2008-10-10 14:36:20 +00:00
Mark Fisher
bdb4a866c8 Removed ConfigurationException. 2008-10-10 01:52:35 +00:00
Mark Fisher
b68f7ca17a Removing dependencies on ConfigurationException. 2008-10-10 00:57:05 +00:00
Mark Fisher
01c9efef66 AbstractEndpoint is no longer TaskScheduler aware. The ListeningMailSource now provides its own taskExecutor property and uses a SimpleAsyncTaskExecutor by default. 2008-10-10 00:28:40 +00:00
Mark Fisher
cfcbad200a Moved channelTemplate definition and initialization callback from AbstractEndpoint to the more specific AbstractMessageProducingEndpoint. 2008-10-10 00:03:41 +00:00
Mark Fisher
8368836336 Removed transaction configuration settings from AbstractEndpoint. Configuration is now a responsibility of more specific classes (e.g. AbstractPollingEndpoint). 2008-10-09 23:53:02 +00:00
Mark Fisher
3b28f09c7c Added receive call to propagation test to avoid collision with the expected results of other methods. 2008-10-09 20:56:08 +00:00
Mark Fisher
b7e4aee3ae The @Poller annotation now supports transaction settings and the 'adviceChain' property when configured with a @ChannelAdapter annotation on an "inbound" pollable method to create a SourcePollingChannelAdapter instance (INT-408). 2008-10-09 20:38:23 +00:00
Mark Fisher
3070a63e39 Added tests for transaction configuration within the @Poller annotation when applied to a MessageConsumer (e.g. @ServiceActivator). 2008-10-09 20:00:59 +00:00
Mark Fisher
fc6dc7488a Added tests for advice chain with @Poller on a channel-polling consumer (@ServiceActivator). 2008-10-09 19:12:23 +00:00
Mark Fisher
875b0cc02a Added an 'adviceChain' property to AbstractPollingEndpoint so that any AOP Advice instance(s) may be applied to the Poller (a Runnable within the AbstractPollingEndpoint). Also, added support for configuring this 'adviceChain' via the @Poller annotation (INT-407). 2008-10-09 17:40:17 +00:00
Mark Fisher
b6d22a7644 The Message Bus no longer creates a default TaskScheduler. However, a default thread-pool version is created in the MessageBusParser if no "task-scheduler" reference is provided. 2008-10-09 16:03:10 +00:00
Mark Fisher
b8e03f05c0 Removed the registerChannels() method that was being invoked after receiving the ApplicationContext refresh event. Channels are retrieved on demand from the ApplicationContext. 2008-10-09 15:19:27 +00:00
Mark Fisher
d60e648684 Added AbstractConsumerFactoryBean and SplitterFactoryBean to support different consumer types that can only be initialized after the "ref" Object's type is known (for example, see INT-397). 2008-10-09 14:55:28 +00:00
Mark Fisher
ad4d94560b CronTrigger expressions may now contain any amount of whitespace between fields. Also, removed inaccessible core TestUtils dependency from the mail module. 2008-10-09 13:57:43 +00:00
Mark Fisher
49361dba5c The TaskScheduler for the MessageBus is now created in MessageBusParser if no explicit reference has been provided via the "task-executor" attribute of the <message-bus/> element. The configuration of an asynchronous ApplicationEventMulticaster has also been pushed to the parser rather than being contained within the MessageBus implementation. 2008-10-09 13:45:07 +00:00
Mark Fisher
977596272c Fixed day offset for the while loop instead of only modifying the original value before passing it into the next day method. 2008-10-09 02:27:18 +00:00
Mark Fisher
9140cf0134 Fixed day offset bug: in java.util.Calendar, DAY_OF_WEEK values start with 1, but in the cron expression they start with 0. Also, replaced an occurrence of Calendar.HOUR (based on 12-hour clock) with the Calendar.HOUR_OF_DAY value (based on 24-hour clock) to prevent false overflow. 2008-10-09 01:22:23 +00:00
Mark Fisher
46e76afa53 MessagingAnnotationPostProcessor now registers endpoints with the MessageBus so that they may be activated even if the bus has already detected endpoint beans from the context (INT-386). For an example, see: AnnotatedEndpointActivationTests. Although it does not impact this particular scenario, a related change is that the message bus no longer registers endpoint beans after receiving the application context refresh event. Instead it will retrieve all beans from the context when start() is invoked. It maintains a set of endpoints that also includes those registered only with the bus itself (not in the application context). 2008-10-08 19:43:08 +00:00
Mark Fisher
7f35402b37 Renamed AbstractEndpointParser to AbstractConsumerEndpointParser. 2008-10-08 15:36:35 +00:00
Marius Bogoevici
60550172f9 INT-393: destroy() on DefaultMessageBus will automatically attempt to stop it, if that didn't happen already. 2008-10-08 14:41:14 +00:00
Jonas Partner
1d835a32fe removed unused poller 2008-10-08 11:00:44 +00:00
Jonas Partner
e70bf3211d INT-403 2008-10-08 10:46:13 +00:00
Mark Fisher
22bd5f1b3e Removed some unused classes and moved AsyncMessage to the sandbox (with AsyncMessageChannelTemplate). 2008-10-08 03:01:32 +00:00
Mark Fisher
221f6167a5 Replaced the <annotation-driven/> element with "enable-annotations" on the <message-bus/> element (INT-401). 2008-10-08 00:52:16 +00:00
Mark Fisher
759bf68b91 Added 'transactionAttributes' and 'transactionManager' to the @Poller annotation (INT-399). 2008-10-08 00:21:58 +00:00
Mark Fisher
6c4245f3ca Added support for the @Transactional annotation within the @Poller annotation (INT-399). Simplified AbstractMessageBarrierConsumer somewhat (to reuse base class methods for sending replies and discarding incomplete messages). Added TestUtils with convenient property-path accessor methods. Refactored annotation post-processors such that the BeanFactory is passed to the individual method post-processors rather than passing the MessageBus. The base class still detects the MessageBus bean and provides a protected 'channelRegistry' reference. 2008-10-08 00:19:20 +00:00
Mark Fisher
ea220cac6c Added tests for a MessageFilter that delegates to a MessageSelector implementation (instead of the MethodInvokingSelector). 2008-10-07 20:48:44 +00:00
Mark Fisher
9b041646eb Added FilterParserTests (INT-377, INT-308). 2008-10-07 20:40:21 +00:00