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
|
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
|
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
|
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 |
|
Jonas Partner
|
1d835a32fe
|
removed unused poller
|
2008-10-08 11:00:44 +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
|
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
|
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
|
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
|
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
|
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 |
|
Mark Fisher
|
e5a8972a97
|
Subscribable is now SubscribableChannel, and MessageDispatcher no longer implements Subscribable.
|
2008-10-02 17:50:18 +00:00 |
|
Mark Fisher
|
a8ce041a0b
|
Removed EndpointInterceptor.
|
2008-10-02 02:40:52 +00:00 |
|
Mark Fisher
|
be566ea60b
|
Moved start() call.
|
2008-10-02 01:21:22 +00:00 |
|
Mark Fisher
|
64158f454e
|
ReplyMessageCorrelator simply returns the same Message. The base class already resolves the replyChannel from the 'returnAddress' header value.
|
2008-10-02 00:42:33 +00:00 |
|
Mark Fisher
|
590d346f08
|
Simplified router hierarchy and only implementing ChannelRegistryAware for routers that resolve channel names.
|
2008-09-29 20:59:17 +00:00 |
|
Mark Fisher
|
0c35a1781e
|
Simplified RecipientListChannelResolver. It now requires a List of MessageChannel instances rather than also allowing channel names.
|
2008-09-29 20:01:26 +00:00 |
|
Mark Fisher
|
a7dcd5f31f
|
Removed DefaultChannelRegistry, and add TestChannelRegistry (for tests only).
|
2008-09-29 18:48:29 +00:00 |
|
Mark Fisher
|
4954228395
|
Removed the 'unregisterChannel' method from ChannelRegistry. DefaultMessageBus now implements ChannelRegistry directly (no longer delegates to DefaultChannelRegistry).
|
2008-09-29 18:37:26 +00:00 |
|
Mark Fisher
|
1f0cf0fcf2
|
Using Asserts with IllegalArgumentException/IllegalStateException instead of ConfigurationException.
|
2008-09-29 14:24:56 +00:00 |
|
Mark Fisher
|
e6f22df1bb
|
Using Asserts with IllegalArgumentException/IllegalStateException instead of ConfigurationException.
|
2008-09-29 13:25:43 +00:00 |
|
Mark Fisher
|
30dd76190b
|
formatting
|
2008-09-28 21:41:23 +00:00 |
|
Iwein Fuld
|
285a6d2fb3
|
RESOLVED - issue INT-382: write integration test for Splitter
http://jira.springframework.org/browse/INT-382
|
2008-09-28 21:24:57 +00:00 |
|
Mark Fisher
|
a76c65220b
|
GatewayProxyFactoryBean now creates a Map of gateways (per-Method). This will enable support for @Gateway annotations (coming soon). Also, the @Header and @Headers annotations are now supported for gateway method parameters. The 'request-channel' and 'reply-channel' attributes of the <gateway/> element have been changed to 'default-request-channel' and 'default-reply-channel' since the request/reply channels will be configurable on a method-by-method basis with annotations (the same applies to 'request-timeout' and 'reply-timeout'). The MessageMapper interface has been split into InboundMessageMapper (with 'toMessage') and OutboundMessageMapper (with 'fromMessage') since the behavior is not always symmetrical For example, the gateway uses MethodParameterMessageMapper for creating a Message *from* the args array but it uses SimpleMessageMapper (the new name for DefaultMessageMapper) to create a Message whose payload is the method's return value.
|
2008-09-28 19:58:24 +00:00 |
|
Iwein Fuld
|
414fa7645e
|
OPEN - issue INT-382: write integration test for Splitter
http://jira.springframework.org/browse/INT-382
|
2008-09-28 05:16:12 +00:00 |
|
Mark Fisher
|
2e175b638d
|
The @Headers annotation is now required (for clarity) when mapping from a Message to a parameter intending to receive MessageHeaders. If the expected payload type is a Map or Properties object, it can still be mapped to any non-annotated parameter of that same type.
|
2008-09-28 00:03:55 +00:00 |
|
Mark Fisher
|
cf57a20b33
|
Added validation and tests (exactly 1 Message or payload when mapping with toMessage(), etc).
|
2008-09-27 19:33:32 +00:00 |
|
Mark Fisher
|
e86b9eb6d8
|
Added the @Headers parameter-level annotation for mapping a java.util.Map (with String-typed keys) to/from the MessageHeaders in MethodParameterMessageMapper.
|
2008-09-27 18:50:35 +00:00 |
|
Mark Fisher
|
f643196b64
|
Added tests for the 'toMessage()' method of MethodParameterMessageMapper.
|
2008-09-27 16:11:41 +00:00 |
|
Mark Fisher
|
1cfe32cd21
|
Moved the MessageMapper strategy interface from the 'gateway' package to the 'message' package.
|
2008-09-27 15:22:28 +00:00 |
|
Mark Fisher
|
9773908155
|
Refactored MessageMappingParameterResolver to MethodParameterMessageMapper, an implementation of the MessageMapper interface.
|
2008-09-27 15:18:28 +00:00 |
|
Mark Fisher
|
9ee921ed7c
|
Removed the PollableSource interface, and migrated the 'receive()' method to MessageSource.
|
2008-09-26 16:31:26 +00:00 |
|
Mark Fisher
|
40938a36f3
|
MessageMapper is parameterized.
|
2008-09-25 21:31:27 +00:00 |
|
Mark Fisher
|
b0a00c7c0d
|
Refactored SimpleMessagingGateway to include a base AbstractMessagingGateway with abstract methods for mapping messages to and from Objects. SimpleMessagingGateway delegates to a MessageMapper instance or uses DefaultMessageMapper.
|
2008-09-25 21:18:01 +00:00 |
|
Mark Fisher
|
8b24cd7d6b
|
MessageMapper now defines toMessage() and fromMessage() methods, and the MessageCreator has been removed.
|
2008-09-25 18:27:52 +00:00 |
|
Mark Fisher
|
91c094a174
|
Added namespace support for the <filter/> element.
|
2008-09-25 00:20:36 +00:00 |
|
Mark Fisher
|
784c732389
|
Added MethodInvokingSelector.
|
2008-09-24 23:44:33 +00:00 |
|
Mark Fisher
|
2feb20e022
|
MessageMappingMethodInvoker now uses Assert instead of throwing ConfigurationException if the method does not accept any arguments.
|
2008-09-24 23:37:21 +00:00 |
|