Mark Fisher
|
84073697e9
|
Renamed AggregatingMessageHandler to AggregatorEndpoint and AggregatorAdapter to MethodInvokingAggregator.
|
2008-09-04 21:00:26 +00:00 |
|
Mark Fisher
|
3a5bfca9f9
|
Aggregator and Resequencer handlers are now endpoint implementations instead of MessageHandler.
|
2008-09-04 20:45:23 +00:00 |
|
Mark Fisher
|
40fc9c207d
|
RouterEndpoint now delegates directly to a single ChannelResolver strategy. This removes the extra level of indirection that was provided by the Router interface. Also, instead of providing multiple ChannelResolver strategy interfaces, the name-resolving and single-channel implementations are now available as abstract base classes.
|
2008-09-04 01:55:32 +00:00 |
|
Mark Fisher
|
1e5ace02dd
|
Replaced the @Handler annotation with @ServiceActivator.
|
2008-09-03 19:32:31 +00:00 |
|
Mark Fisher
|
e4c3ead89f
|
Removed the @Subscriber annotation now that inputChannel can be configured at Method-level for all other Message-handling annotations.
|
2008-09-03 18:36:03 +00:00 |
|
Mark Fisher
|
5d93062f6a
|
Removed TransformerMessageHandler and TransformerMessageHandlerCreator. Migrated TransformerMessageHandlerTests to MethodInvokingTransformerTests.
|
2008-09-03 17:56:08 +00:00 |
|
Mark Fisher
|
05fc8263f5
|
Moved input/output channel configuration to Method-level annotations. Also, the @Poller annotation is now expected at Method-level instead of Class-level. The @MessageEndpoint is now strictly a stereotype. Removed the @MessageTarget and @Pollable annotations. The @ChannelAdapter annotation post-processor now handles both inbound and outbound channel adapters based on the Method signature.
|
2008-09-03 17:31:51 +00:00 |
|
Mark Fisher
|
b2da8c5f2a
|
Refactored Message-transformation tests for new implementations.
|
2008-09-03 04:51:22 +00:00 |
|
Mark Fisher
|
614ffaf825
|
Added removeHeader() method to MessageBuilder.
|
2008-09-02 22:24:37 +00:00 |
|
Mark Fisher
|
6f2f1640bd
|
Removed MessageHandlerDecorator (the target object of any Method-invoking adapter can now use standard AOP).
|
2008-09-02 20:54:38 +00:00 |
|
Mark Fisher
|
30c244aefb
|
MethodInvokingTarget no longer extends AbstractMessageHandler.
|
2008-09-02 20:23:20 +00:00 |
|
Mark Fisher
|
788b2364ec
|
The <channel/> element is now used for creating all Point-to-Point channel types. It accepts a queue sub-element (options are: <queue/>, <priority-queue/>, or <rendezvous-queue/>). If no queue sub-element is provided, the channel type will be a DirectChannel.
|
2008-09-01 22:50:56 +00:00 |
|
Mark Fisher
|
4b8a32456e
|
Removed ChannelFactory strategy and implementations prior to general channel refactoring.
|
2008-08-31 21:20:16 +00:00 |
|
Mark Fisher
|
5419a0b1d3
|
The MessageEndpoint interface no longer includes setters for 'source' and 'target'. AbstractEndpoint provides the setters, and the interface only defines the getters.
|
2008-08-31 15:52:42 +00:00 |
|
Mark Fisher
|
ea16a5f48c
|
Removed channel and channel name properties from MessageEndpoint and its implementations. Now the MessageEndpoint only has the 'source' and 'target' properties.
|
2008-08-30 23:55:13 +00:00 |
|
Mark Fisher
|
f96354671c
|
MessageEndpoint no longer has any awareness of the Schedule - only its MessageSource. The source may be a PollingDispatcher, but the poller is always configured without the MessageEndpoint needing to provide the Schedule.
|
2008-08-30 23:01:38 +00:00 |
|
Mark Fisher
|
bdfc98f966
|
Removed the aroundHandle() method from EndpointInterceptor now that the endpoints are simplified ("normal" AOP interception can easily be applied to the invoked target object). Removed the @Concurrency annotation since it was being applied by the endpointInterceptor instead of the poller and since the thread-pool executor is only one of the available taskExecutor options (may provide a 'taskExecutor' reference for @Poller instead). Removed the ConcurrencyInterceptor and TransactionInterceptor implementations.
|
2008-08-30 17:42:45 +00:00 |
|
Mark Fisher
|
41b3a764ab
|
Added AbstractInOutEndpoint and ServiceActivatorEndpoint. SplitterEndpoint now extends AbstractInOutEndpoint as well.
|
2008-08-30 17:07:58 +00:00 |
|
Mark Fisher
|
37b4ee5bd7
|
Removed the "NEXT_TARGET" header, since it is no longer used by the Router implementations. Also, the MessagingAnnotationPostProcessor now considers any component annotated with a "stereotype" as a candidate for post-processing.
|
2008-08-28 20:49:45 +00:00 |
|
Mark Fisher
|
ba9c086aea
|
Added Router strategy interface, and refactored Message-routing support in general to avoid MessageHandler.
|
2008-08-28 18:46:36 +00:00 |
|
Mark Fisher
|
62c7439960
|
MessagingAnnotationPostProcessor now requires the class-level @MessageEndpoint annotation.
|
2008-08-28 18:25:15 +00:00 |
|
Mark Fisher
|
5fd3ed90d3
|
Added Splitter strategy interface, and refactored Message-splitting support in general to avoid MessageHandler.
|
2008-08-27 23:00:27 +00:00 |
|
Mark Fisher
|
59c3d5c9e3
|
Moved the @Header annotation from the 'org.springframework.integration.handler.annotation' to the 'org.springframework.integration.annotation' package.
|
2008-08-27 21:21:57 +00:00 |
|
Mark Fisher
|
3061d6ed8a
|
Moved channelRegistry property to AbstractEndpoint superclass instead of DefaultEndpoint, and removed the 'returnAddressOverrides' property as well as the corresponding XML attribute.
|
2008-08-27 19:21:56 +00:00 |
|
Mark Fisher
|
1f4acb82c8
|
Added tests for default splitter handling of Array and Collection payloads.
|
2008-08-25 14:03:49 +00:00 |
|
Mark Fisher
|
dedb3294e4
|
Removed IdGenerator strategy and RandomUuidGenerator implementation. We are always using UUID within GenericMessage.
|
2008-08-25 13:49:07 +00:00 |
|
Mark Fisher
|
50a227aaa1
|
The expirationDate header is now stored as a Long instead of a Date.
|
2008-08-25 13:44:25 +00:00 |
|
Marius Bogoevici
|
8a5b0c8832
|
INT-351 - nextTarget is now reset after a message has been sent.
|
2008-08-23 03:44:01 +00:00 |
|
Mark Fisher
|
218b100ab7
|
Moved the @Publisher annotation into the 'aop' package to avoid a cycle.
|
2008-08-20 04:42:43 +00:00 |
|
Mark Fisher
|
42e7a6bffa
|
Added support for the "method" attribute on the <channel-adapter/> element in order to create MethodInvokingSource or MethodInvokingTarget instances.
|
2008-08-19 22:51:41 +00:00 |
|
Mark Fisher
|
42508cc231
|
Added some tests for MessageBuilder.
|
2008-08-19 21:50:32 +00:00 |
|
Mark Fisher
|
a43315e17e
|
Added @Header parameter annotation test to SplitterMessageHandlerTests.
|
2008-08-19 18:21:52 +00:00 |
|
Mark Fisher
|
44e0c1c0c0
|
PublisherAnnotationPostProcessor now checks if any @Publisher annotations are defined on class methods only (rather than interfaces), and if so, the proxy will set the 'proxyTargetClass' property to 'true' prior to creating the proxy (INT-263).
|
2008-08-19 15:43:35 +00:00 |
|
Mark Fisher
|
d55c89e170
|
ChannelFactory is no longer tied to the MessageBus. Instead it will be discovered based on the bean name ("channelFactory"). The DefaultChannelFactoryBean no longer creates proxies. This also fixes INT-322.
|
2008-08-19 03:39:09 +00:00 |
|
Mark Fisher
|
c060e68fbc
|
Added initial implementation of messaging bridge.
|
2008-08-19 02:02:57 +00:00 |
|
Mark Fisher
|
e472e64309
|
Added the "task-executor" attribute for the <message-bus/> element (INT-344).
|
2008-08-18 22:07:22 +00:00 |
|
Mark Fisher
|
58c768541a
|
Added namespace support for configuring an endpoint's ErrorHandler strategy. For example, the "error-handler" attribute can be provided on the <service-activator/> element with a bean name reference to any implementation of the ErrorHandler interface (INT-178).
|
2008-08-18 20:43:38 +00:00 |
|
Mark Fisher
|
0ec6cd61d9
|
SimpleDispatcher no longer continues to retry sending any time it catches an Exception. Instead, it will try to send to each of its targets until one of them accepts the message (returns true). If a target returns false (e.g. for a timeout) or throws a MessageRejectedException (e.g. a MessageSelector did not accept the Message), then it will continue trying its other targets. However, any other Exceptions will be re-thrown immediately. Also, it no longer attempts to send to its targets more than once. Thus, the 'rejectionLimit' and 'retryInterval' properties have been removed. The retry behavior actually belongs in an interceptor/template on a per-MessageTarget basis. Some targets are retry-able (e.g. might throw a RemoteAccessException), but others are not. Therefore, the SimpleDispatcher should not have this awareness; such configuration options belong with the individual target instead (part of INT-337).
|
2008-08-18 19:36:04 +00:00 |
|
Mark Fisher
|
80935d3bd0
|
Removed support for 'auto-create-channels' on the MessageBus. All channels must be explicitly created and registered with the bus (INT-247).
|
2008-08-18 17:36:13 +00:00 |
|
Mark Fisher
|
0fcf546ad0
|
Added support for publishing arguments, exception, or return value from the MessagePublishingInterceptor and the @Publisher-aware version (INT-175).
|
2008-08-18 15:53:42 +00:00 |
|
Mark Fisher
|
9b85225675
|
Channel Adapters are now endpoints, but if no "channel" attribute if provided for a <channel-adapter/> element, a DirectChannel will be created automatically. The <poller/> sub-element now belongs within the <channel-adapter/> (not the consumer endpoint downstream). This enables support for multiple Channel Adapters to share a MessageChannel. Also, the @Poller annotation belongs at class-level along with @ChannelAdapter if a @Pollable method is being adapted via MethodInvokingSource.
|
2008-08-17 22:37:35 +00:00 |
|
Mark Fisher
|
34710691aa
|
Renamed MessageDispatcher's 'setTimeout' to 'setSendTimeout'. The more specific name is much clearer when the dispatcher is also being used for receive operations (e.g. PollingDispatcher).
|
2008-08-15 14:23:09 +00:00 |
|
Mark Fisher
|
73a848046a
|
Removed the name parameter from channelRegistry.registerChannel() since the MessageChannel interface already defines getName(). Removed the setName() method from the MessageChannel interface. Removed the 'error-channel' attribute from the <message-bus/> element and the setErrorChannel() method from MessageBus. The "errorChannel" name is now sufficient for configuration.
|
2008-08-14 19:00:44 +00:00 |
|
Mark Fisher
|
824fff8381
|
Moved PollingDispatcher back into the 'dispatcher' package now that the cycle (with 'channel' and 'scheduling') has been removed.
|
2008-08-14 15:53:21 +00:00 |
|
Mark Fisher
|
76762ed960
|
Moved DirectChannel and PublishSubscribeChannels to the 'channel' pacakge.
|
2008-08-14 15:40:13 +00:00 |
|
Mark Fisher
|
add3d6a121
|
Moved PollingDispatcher from the dispatcher package to the bus package. It depends on the scheduling and channel packages.
|
2008-08-14 15:28:27 +00:00 |
|
Mark Fisher
|
1cc799b438
|
AbstractDispatcher now uses a Set instead of List (INT-335).
|
2008-08-14 12:58:21 +00:00 |
|
Mark Fisher
|
3e15df93ed
|
MessageDispatcher now extends SubscribableSource. The 'addTarget' and 'removeTarget' methods have been replaced with 'subscribe' and 'unsubscribe' respectively.
|
2008-08-14 11:53:24 +00:00 |
|
Mark Fisher
|
234c87da1d
|
Removed AbstractMethodInvokingAdapter and AbstractMessageHandlerAdapter (has been replaced by the new AbstractMessageHandler). The MethodInvokingPayloadTransformer now uses a NameResolvingMethodInvoker.
|
2008-08-14 10:34:26 +00:00 |
|
Mark Fisher
|
0d49689821
|
Extracted message-to-args mapping logic from AbstractMessageHandler to MethodArgumentMessageMapper. Defined a separate abstract method in AbstractMessageHandler for post-processing a return value that is already a Message. DefaultMethodInvoker catches an IllegalArgumentException in case the Method instance no longer matches after a Proxy and "resets" the correct Method if it can be determined from the 'methodName' property. Replaced AnnotationMethodTransformerAdapter with TransformerMessageHandler.
|
2008-08-13 23:31:18 +00:00 |
|