Commit Graph

256 Commits

Author SHA1 Message Date
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
Mark Fisher
b0fc5da6a2 The <poller/> element now accepts the "interval" attribute for an IntervalTrigger instead of "period". 2008-09-24 19:40:38 +00:00
Mark Fisher
ee7a8d0725 Replacing Schedule with Trigger. 2008-09-24 18:29:23 +00:00
Mark Fisher
05cfa42426 Added context.stop() calls at end of test methods. 2008-09-24 17:29:27 +00:00
Mark Fisher
9e1e1199ee Refactored TaskScheduler to use the new Trigger interface. Also added the SimpleTaskScheduler implementation. 2008-09-24 16:29:14 +00:00
Mark Fisher
de10530387 Moved MessageChannelTemplate and AsyncMessageChannelTemplate to the 'channel' package (was in 'message'). 2008-09-24 13:50:31 +00:00
Mark Fisher
4664ef5f81 The <inbound-channel-adapter/> and <outbound-channel-adapter/> elements now expect the "ref" attribute (instead of "source" for inbound and "target" for outbound). 2008-09-24 01:54:11 +00:00
Mark Fisher
6655511d3d Refactored the ChannelAdapterParser to MethodInvokingInboundChannelAdapterParser. MethodInvokingOutboundChannelAdapterParser had already been committed. The namespace now defines "inbound-channel-adapter" and "outbound-channel-adapter" elements instead of using "channel-adapter" for both. 2008-09-24 01:42:28 +00:00
Mark Fisher
db33965e77 Added namespace support for the <transformer/> element (INT-342). 2008-09-23 22:36:01 +00:00
Mark Fisher
37840238d9 Cleaning out 'handler' pacakge within src/test. 2008-09-23 20:20:23 +00:00
Mark Fisher
8b59050571 Moved MethodInvokingConsumer from 'handler' to 'message', and replaced MessageFilter in 'handler' with FilterEndpoint in the new 'filter' package. 2008-09-23 20:07:04 +00:00
Mark Fisher
b4ab2d5365 Moved ReplyMessageCorrelator from the 'handler' package to the 'gateway' package (it is only used by SimpleMessagingGateway). 2008-09-22 22:52:23 +00:00