b0c809cac7
Updated template.mf to include org.springframework.beans.*
Mark Fisher
2008-10-13 01:50:16 +00:00
82ce1373ac
HelloWorldDemo now uses a BeanFactoryChannelResolver (instead of ChannelRegistry).
Mark Fisher
2008-10-13 01:41:48 +00:00
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).
Mark Fisher
2008-10-13 00:40:19 +00:00
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.
Mark Fisher
2008-10-12 18:35:09 +00:00
8301d9b3a4
Moved ChannelResolver and BeanFactoryChannelResolver into the 'org.springframework.integration.channel' package.
Mark Fisher
2008-10-12 18:17:08 +00:00
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.
Mark Fisher
2008-10-12 17:58:36 +00:00
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.
Mark Fisher
2008-10-12 17:15:29 +00:00
b4c86f838e
Added support for the <poller/> sub-element within jms:outbound-channel-adapter, and added the "channel" attribute for the inbound console channel adapter.
Mark Fisher
2008-10-12 03:34:17 +00:00
118dc27b7c
Refactored the 'jms-target' element to an 'outbound-channel-adapter' element within the 'jms' namespace.
Mark Fisher
2008-10-12 03:23:48 +00:00
6873274353
Added the 'integration' schemaLocation to test XML files.
Mark Fisher
2008-10-12 01:15:57 +00:00
139b36de7c
changed sequence to all.
Mark Fisher
2008-10-12 00:42:09 +00:00
8896ff7053
Added support for the integration:poller child element within jms:inbound-channel-adapter.
Mark Fisher
2008-10-12 00:29:29 +00:00
998ca827d7
Replaced <jms:source/> with <jms:inbound-channel-adapter/>, refactored parser, and adjusted tests.
Mark Fisher
2008-10-12 00:19:19 +00:00
04fe19c91e
increased await timeouts for transaction tests
Mark Fisher
2008-10-11 17:47:12 +00:00
f143ae5857
Removed 'getErrorChannel' method from MessageBus.
Mark Fisher
2008-10-11 17:27:07 +00:00
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.
Mark Fisher
2008-10-11 17:20:52 +00:00
f7d04d911b
Removed ChannelResolver interface now that the router hierarchy has been refactored. Routers that map from names to channels now delegate to a ChannelMapping.
Mark Fisher
2008-10-11 16:05:49 +00:00
b8551e13be
Removed the 'registerChannel' method from the ChannelRegistry interface (most likely to be renamed as it is now used solely for lookup).
Mark Fisher
2008-10-11 15:54:58 +00:00
ec91ae8f08
Renamed RootCauseErrorMessageRouter to the more appropriate ErrorMessageExceptionTypeRouter (the routing is actually based on the most-specific Exception type available in the exceptionTypeChannelMap).
Mark Fisher
2008-10-10 23:58:27 +00:00
045011318e
RouterAnnotationPostProcessor now provides the beanFactory reference to the MethodInvokingRouter it creates.
Mark Fisher
2008-10-10 23:54:17 +00:00
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.
Mark Fisher
2008-10-10 23:47:22 +00:00
ac85cb1ecf
removed empty packages
Mark Fisher
2008-10-10 20:36:01 +00:00
d0f6684c6a
Moving tests to match the package of the classes under test.
Mark Fisher
2008-10-10 19:57:52 +00:00
24793ead19
Separated annotation post processors and bean definition parsers into 'annotation' and 'xml' sub-packages of the 'org.springframework.integration.config' package.
Mark Fisher
2008-10-10 18:55:24 +00:00
b4c13e8f92
removed empty packages
Mark Fisher
2008-10-10 17:12:40 +00:00
11e53cf7e7
Moved GatewayParser, AbstractTransformerParser, and SimpleHeaderEnricherParser into org.springframework.integration.config to avoid dependency cycles.
Mark Fisher
2008-10-10 17:11:18 +00:00
0dfe9ca191
Added support for "taskExecutor" on the @Poller annotation. This requires a reference to a TaskExecutor instance resolvable by bean name (INT-409).
Mark Fisher
2008-10-10 14:48:11 +00:00
526f4b25dc
Moved common annotation configuration logic from ChannelAdapterAnnotationPostProcessor and AbstractMethodAnnotationPostProcessor into the new AnnotationConfigUtils class (INT-411).
Mark Fisher
2008-10-10 14:36:20 +00:00
bdb4a866c8
Removed ConfigurationException.
Mark Fisher
2008-10-10 01:52:35 +00:00
b68f7ca17a
Removing dependencies on ConfigurationException.
Mark Fisher
2008-10-10 00:57:05 +00:00
01c9efef66
AbstractEndpoint is no longer TaskScheduler aware. The ListeningMailSource now provides its own taskExecutor property and uses a SimpleAsyncTaskExecutor by default.
Mark Fisher
2008-10-10 00:28:40 +00:00
cfcbad200a
Moved channelTemplate definition and initialization callback from AbstractEndpoint to the more specific AbstractMessageProducingEndpoint.
Mark Fisher
2008-10-10 00:03:41 +00:00
8368836336
Removed transaction configuration settings from AbstractEndpoint. Configuration is now a responsibility of more specific classes (e.g. AbstractPollingEndpoint).
Mark Fisher
2008-10-09 23:53:02 +00:00
3b28f09c7c
Added receive call to propagation test to avoid collision with the expected results of other methods.
Mark Fisher
2008-10-09 20:56:08 +00:00
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).
Mark Fisher
2008-10-09 20:38:23 +00:00
3070a63e39
Added tests for transaction configuration within the @Poller annotation when applied to a MessageConsumer (e.g. @ServiceActivator).
Mark Fisher
2008-10-09 20:00:59 +00:00
fc6dc7488a
Added tests for advice chain with @Poller on a channel-polling consumer (@ServiceActivator).
Mark Fisher
2008-10-09 19:12:23 +00:00
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).
Mark Fisher
2008-10-09 17:40:17 +00:00
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.
Mark Fisher
2008-10-09 16:03:10 +00:00
b8e03f05c0
Removed the registerChannels() method that was being invoked after receiving the ApplicationContext refresh event. Channels are retrieved on demand from the ApplicationContext.
Mark Fisher
2008-10-09 15:19:27 +00:00
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).
Mark Fisher
2008-10-09 14:55:28 +00:00
ad4d94560b
CronTrigger expressions may now contain any amount of whitespace between fields. Also, removed inaccessible core TestUtils dependency from the mail module.
Mark Fisher
2008-10-09 13:57:43 +00:00
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.
Mark Fisher
2008-10-09 13:45:07 +00:00
977596272c
Fixed day offset for the while loop instead of only modifying the original value before passing it into the next day method.
Mark Fisher
2008-10-09 02:27:18 +00:00
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.
Mark Fisher
2008-10-09 01:22:23 +00:00
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).
Mark Fisher
2008-10-08 19:43:08 +00:00
4ddfc680ae
WebServiceHandler classes are now WebServiceOutboundGateways. The "service-activator" element has also been replaced with <ws:outbound-gateway/> (INT-404).
Mark Fisher
2008-10-08 18:25:32 +00:00
7f35402b37
Renamed AbstractEndpointParser to AbstractConsumerEndpointParser.
Mark Fisher
2008-10-08 15:36:35 +00:00
60550172f9
INT-393: destroy() on DefaultMessageBus will automatically attempt to stop it, if that didn't happen already.
Marius Bogoevici
2008-10-08 14:41:14 +00:00
1d835a32fe
removed unused poller
Jonas Partner
2008-10-08 11:00:44 +00:00
e70bf3211d
INT-403
Jonas Partner
2008-10-08 10:46:13 +00:00
ae5974ff82
Added support for defining a poller on the service activator element INT-402
Jonas Partner
2008-10-08 10:02:13 +00:00
22bd5f1b3e
Removed some unused classes and moved AsyncMessage to the sandbox (with AsyncMessageChannelTemplate).
Mark Fisher
2008-10-08 03:01:32 +00:00
155e84f4ce
Replaced <annotation-driven/> in samples with "enable-annotations" on the <message-bus/> element (INT-401).
Mark Fisher
2008-10-08 00:59:02 +00:00
221f6167a5
Replaced the <annotation-driven/> element with "enable-annotations" on the <message-bus/> element (INT-401).
Mark Fisher
2008-10-08 00:52:16 +00:00
759bf68b91
Added 'transactionAttributes' and 'transactionManager' to the @Poller annotation (INT-399).
Mark Fisher
2008-10-08 00:21:58 +00:00
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.
Mark Fisher
2008-10-08 00:19:20 +00:00
ea220cac6c
Added tests for a MessageFilter that delegates to a MessageSelector implementation (instead of the MethodInvokingSelector).
Mark Fisher
2008-10-07 20:48:44 +00:00
9b041646eb
Added FilterParserTests (INT-377, INT-308).
Mark Fisher
2008-10-07 20:40:21 +00:00
3f7b725b77
Moved AsyncMessageChannelTemplate to the sandbox.
Mark Fisher
2008-10-07 20:09:35 +00:00
b024fa0b56
MessageChannelTemplate now supports a 'defaultChannel'. It may be configured either via setter or constructor (INT-400).
Mark Fisher
2008-10-07 19:53:39 +00:00
71b17fa8a4
Added CronSequenceGenerator. CronTrigger now delegates to the generator, and thus we no longer have a dependency on quartz.
Mark Fisher
2008-10-07 14:19:13 +00:00
05d9528024
AggregatorEndpoint has been replaced by AbstractMessageAggregator, and the Aggregator interface has been removed. The MethodInvokingAggregator is now capable of detecting a single method with the @Aggregator annotation if no "method" attribute is defined on an <aggregator/> element, and it will fall back to detect a single public Method (else throw a IllegalArgumentException).
Mark Fisher
2008-10-07 03:19:28 +00:00
7991ef889c
AbstractMessageBarrierEndpoint is now AbstractMessageBarrierConsumer.
Mark Fisher
2008-10-07 02:10:20 +00:00
080c19fb62
ResequencerEndpoint is now Resequencer.
Mark Fisher
2008-10-07 01:59:56 +00:00
0250529aa2
FilterEndpoint is now MessageFilter.
Mark Fisher
2008-10-07 01:06:22 +00:00
95b9212c9f
Removed Splitter interface and added AbstractMessageSplitter base class. The MethodInvokingSplitter is now capable of resolving methods when only an Object is provided to its constructor - either a single method containing the @Splitter annotation or a single public Method as a fallback (or if neither is satisifed, an IllegalArgumentException will be thrown).
Mark Fisher
2008-10-06 23:16:47 +00:00
f12c6b3748
AbstractMessageHandlingEndpoint is now AbstractReplyProducingMessageConsumer.
Mark Fisher
2008-10-06 20:59:55 +00:00
b567e9570d
Removing unused classes: OutboundChannelAdapter and ReplyMessageCorrelator.
Mark Fisher
2008-10-06 20:33:43 +00:00
709f6d72df
AbstractEndpointParser creates a DirectChannel for an 'input-channel' that is not explicitly configured within the context.
Mark Fisher
2008-10-06 20:11:49 +00:00
7d8dc775e4
AbstractMessageConsumingEndpoint is now AbstractMessageConsumer.
Mark Fisher
2008-10-06 18:23:00 +00:00
27e288be08
Refactored existing Message-consuming endpoints to only implement MessageConsumer (not MessageEndpoint). Now, either a PollingConsumerEndpoint or SubscribingConsumerEndpoint delegates to the MessageConsumer thereby separating the Lifecycle responsibilities and configuration settings (trigger, transactions, etc) since they are different for polling vs. subscribing and not relevant for simply consuming Messages. Essentially all MessageConsumers are now "event-driven" since a "polling consumer" is actually handled by the PollingConsumerEndpoint class. The next refactoring step involves renaming several components to clarify this endpoint vs. consumer distinction.
Mark Fisher
2008-10-06 17:24:46 +00:00
14cd44d272
adding first bit of file docos
Iwein Fuld
2008-10-06 15:10:21 +00:00
2d4bb80b10
Force AbstractMessageBarrierEndpoint and subclasses to use the TaskScheduler supplied via TaskSchedulerAware for scheduling the ReaperThread. Introducing a Schedulers helper class for creating a default TaskScheduler.
Marius Bogoevici
2008-10-06 04:52:03 +00:00
08e6db266b
Added ConsumerEndpointFactoryBean.
Mark Fisher
2008-10-05 22:18:54 +00:00
e119d493b2
Added SubscribingConsumerEndpoint.
Mark Fisher
2008-10-05 21:54:03 +00:00
180d57c418
Added PollingConsumerEndpoint.
Mark Fisher
2008-10-05 21:26:01 +00:00
c577d3ef2c
MessagingAnnotationPostProcessor now only calls method-annotation postProcessors if the annotated Method should trigger the creation of a MessageEndpoint. To qualify, it must be either a @ChannelAdapter annotation or define an "inputChannel".
Mark Fisher
2008-10-05 20:14:42 +00:00
95c8b83a51
Added MethodResolver strategy interface and two implementations: AnnotationMethodResolver and DefaultMethodResolver. The MessageMappingMethodInvoker no longer resolves based on Annotations. Instead, the component that delegates to the invoker is responsible for resolving the Method instance (e.g. ServiceActivator now does this when its single Object constructor is invoked).
Mark Fisher
2008-10-05 19:40:53 +00:00
1f5e0b6cf1
RESOLVED - issue INT-394: SimpleWebServiceHandler should support an org.w3c.dom.Document payload in addition to Source and String http://jira.springframework.org/browse/INT-394
Jonas Partner
2008-10-05 19:28:42 +00:00
88df7711e0
MessagingAnnotationPostProcessor no longer creates a proxy for annotated methods. It still creates and registers an endpoint if an "inputChannel" is specified, but for satisfying a "ref" in an XML-based endpoint configuration, it will be the responsibility of the corresponding consumer to create a Method-invoking adapter instance for the annotated Method. The ServiceActivator performs this role already, checking for a single @ServiceActivaotor-annotated method or falling back to a single public Method that is not declared on the Object class.
Mark Fisher
2008-10-05 18:16:31 +00:00
5c16131ce1
Added annotation-type method resolution to MessageMappingMethodInvoker.
Mark Fisher
2008-10-05 14:57:15 +00:00
6ad0682bd0
Improve the robustness of the ScheduledTaskExecutor
Marius Bogoevici
2008-10-04 21:03:44 +00:00
3d6969a837
Removed SourcePoller. SourcePollingChannelAdapter now extends AbstractPollingEndpoint.
Mark Fisher
2008-10-02 23:53:37 +00:00
5d40996acb
Moved ErrorHandler dependency from AbstractEndpoint to AbstractMessageConsumingEndpoint.
Mark Fisher
2008-10-02 22:46:22 +00:00
c4f61646f7
Removed getName from AbstractEndpoint.
Mark Fisher
2008-10-02 19:44:57 +00:00
4c02dd0605
Moved SubscribableChannel from the 'message' package to the 'channel' package.
Mark Fisher
2008-10-02 18:22:18 +00:00
5d83da53fc
ChannelPoller now has a setConsumer method instead of being Subscribable.
Mark Fisher
2008-10-02 18:03:49 +00:00
e5a8972a97
Subscribable is now SubscribableChannel, and MessageDispatcher no longer implements Subscribable.
Mark Fisher
2008-10-02 17:50:18 +00:00
3f9230d73b
Removed empty 'interceptor' package
Mark Fisher
2008-10-02 03:26:50 +00:00
b58706a1d7
Removed EndpointInterceptorParser and removed the "interceptors" sub-element from the "endpoint" element in the schema definition.
Mark Fisher
2008-10-02 02:47:29 +00:00
a8ce041a0b
Removed EndpointInterceptor.
Mark Fisher
2008-10-02 02:40:52 +00:00
be566ea60b
Moved start() call.
Mark Fisher
2008-10-02 01:21:22 +00:00
8ecc7604d6
Removed SchedulableTask interface. The only implementation (AbstractPoller) now implements Runnable directly and still provides the getTrigger() method.
Mark Fisher
2008-10-02 01:11:35 +00:00
c24df55e06
AbstractEndpoint no longer implements ChannelRegistryAware. AbstractMessageHandlingEndpoint and RouterEndpoint do.
Mark Fisher
2008-10-02 00:56:05 +00:00
64158f454e
ReplyMessageCorrelator simply returns the same Message. The base class already resolves the replyChannel from the 'returnAddress' header value.
Mark Fisher
2008-10-02 00:42:33 +00:00