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 |
|
Mark Fisher
|
3f7b725b77
|
Moved AsyncMessageChannelTemplate to the sandbox.
|
2008-10-07 20:09:35 +00:00 |
|
Mark Fisher
|
b024fa0b56
|
MessageChannelTemplate now supports a 'defaultChannel'. It may be configured either via setter or constructor (INT-400).
|
2008-10-07 19:53:39 +00:00 |
|
Mark Fisher
|
71b17fa8a4
|
Added CronSequenceGenerator. CronTrigger now delegates to the generator, and thus we no longer have a dependency on quartz.
|
2008-10-07 14:19:13 +00:00 |
|
Mark Fisher
|
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).
|
2008-10-07 03:19:28 +00:00 |
|
Mark Fisher
|
7991ef889c
|
AbstractMessageBarrierEndpoint is now AbstractMessageBarrierConsumer.
|
2008-10-07 02:10:20 +00:00 |
|
Mark Fisher
|
080c19fb62
|
ResequencerEndpoint is now Resequencer.
|
2008-10-07 01:59:56 +00:00 |
|
Mark Fisher
|
0250529aa2
|
FilterEndpoint is now MessageFilter.
|
2008-10-07 01:06:22 +00:00 |
|
Mark Fisher
|
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).
|
2008-10-06 23:16:47 +00:00 |
|
Mark Fisher
|
f12c6b3748
|
AbstractMessageHandlingEndpoint is now AbstractReplyProducingMessageConsumer.
|
2008-10-06 20:59:55 +00:00 |
|
Mark Fisher
|
b567e9570d
|
Removing unused classes: OutboundChannelAdapter and ReplyMessageCorrelator.
|
2008-10-06 20:33:43 +00:00 |
|
Mark Fisher
|
709f6d72df
|
AbstractEndpointParser creates a DirectChannel for an 'input-channel' that is not explicitly configured within the context.
|
2008-10-06 20:11:49 +00:00 |
|
Mark Fisher
|
7d8dc775e4
|
AbstractMessageConsumingEndpoint is now AbstractMessageConsumer.
|
2008-10-06 18:23:00 +00:00 |
|
Mark Fisher
|
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.
|
2008-10-06 17:24:46 +00:00 |
|
Marius Bogoevici
|
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.
|
2008-10-06 04:52:03 +00:00 |
|
Mark Fisher
|
08e6db266b
|
Added ConsumerEndpointFactoryBean.
|
2008-10-05 22:18:54 +00:00 |
|
Mark Fisher
|
e119d493b2
|
Added SubscribingConsumerEndpoint.
|
2008-10-05 21:54:03 +00:00 |
|
Mark Fisher
|
180d57c418
|
Added PollingConsumerEndpoint.
|
2008-10-05 21:26:01 +00:00 |
|
Mark Fisher
|
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".
|
2008-10-05 20:14:42 +00:00 |
|
Mark Fisher
|
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).
|
2008-10-05 19:40:53 +00:00 |
|
Mark Fisher
|
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.
|
2008-10-05 18:16:31 +00:00 |
|
Mark Fisher
|
5c16131ce1
|
Added annotation-type method resolution to MessageMappingMethodInvoker.
|
2008-10-05 14:57:15 +00:00 |
|
Marius Bogoevici
|
6ad0682bd0
|
Improve the robustness of the ScheduledTaskExecutor
|
2008-10-04 21:03:44 +00:00 |
|
Mark Fisher
|
3d6969a837
|
Removed SourcePoller. SourcePollingChannelAdapter now extends AbstractPollingEndpoint.
|
2008-10-02 23:53:37 +00:00 |
|
Mark Fisher
|
5d40996acb
|
Moved ErrorHandler dependency from AbstractEndpoint to AbstractMessageConsumingEndpoint.
|
2008-10-02 22:46:22 +00:00 |
|
Mark Fisher
|
c4f61646f7
|
Removed getName from AbstractEndpoint.
|
2008-10-02 19:44:57 +00:00 |
|
Mark Fisher
|
4c02dd0605
|
Moved SubscribableChannel from the 'message' package to the 'channel' package.
|
2008-10-02 18:22:18 +00:00 |
|
Mark Fisher
|
e5a8972a97
|
Subscribable is now SubscribableChannel, and MessageDispatcher no longer implements Subscribable.
|
2008-10-02 17:50:18 +00:00 |
|
Mark Fisher
|
b58706a1d7
|
Removed EndpointInterceptorParser and removed the "interceptors" sub-element from the "endpoint" element in the schema definition.
|
2008-10-02 02:47:29 +00:00 |
|