Commit Graph

229 Commits

Author SHA1 Message Date
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
Marius Bogoevici
38bda54d4c Adding CronSchedule and parsing support for <poller cron="cronExpression"/>. Internal changes to the SPI. 2008-08-19 21:26:36 +00:00
Mark Fisher
54a78fcd72 Added JavaDoc for @Router and @Splitter (INT-273). 2008-08-19 18:24:42 +00:00
Mark Fisher
a43315e17e Added @Header parameter annotation test to SplitterMessageHandlerTests. 2008-08-19 18:21:52 +00:00
Mark Fisher
c00c13bdff Fixed issue with target ChannelAdapter when 'channel' is provided but <poller/> is not. 2008-08-19 17:05:19 +00:00
Mark Fisher
3f79525907 Updated MessageTarget JavaDoc (INT-331). 2008-08-19 16:07:36 +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
b6ef9c8e1a Removed unnecessary initialize() call from registerEndpoint. 2008-08-18 21:10:58 +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
b4701c0150 SimpleDispatcher no longer wraps a MessagingException inside of a MessageDeliveryException (part of INT-337). 2008-08-18 19:04:46 +00:00
Mark Fisher
30fd7decc8 Modified the 'onFailure' method signature in MessageDeliveryAware so that any Exception can be passed along with a separate Message parameter instead of always expecting a MessagingException. 2008-08-18 18:40:39 +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
d8c4b0df69 Refactored common annotation value retrieval logic into a separate (private) method. 2008-08-18 16:34:27 +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
Iwein Fuld
d6aed95948 Finishing up INT-293, INT-154. Parametrized DefaultMessageMapper, refactored FtpSource to use a pool, added namespace support for FtpTarget. 2008-08-17 05:37:03 +00:00
Mark Fisher
8272a7d94c Added 'remove' functionality to the MessageHeaders (when setting a NULL value), and improved comments. 2008-08-15 18:20:11 +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
1ce101f2bf Moved MessagePublishingErrorHandler from 'scheduling' package to 'channel'. 2008-08-14 15:47:12 +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
8389842976 Removed CollectionSplitter. 2008-08-14 15:02:45 +00:00
Mark Fisher
ee3ea753a9 Moved all channel parsers into the org.springframework.integration.config package. 2008-08-14 14:57:22 +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
a99b03c387 SimpleMessagingGateway's default 'replyTimeout' is now -1 for "indefinite" (matches the default of MessageExchangeTemplate). 2008-08-14 10:29:29 +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
Mark Fisher
0f93cab8cc Factored out DefaultEndpoint's generic logic to AbstractEndpoint. 2008-08-13 18:10:38 +00:00
Mark Fisher
51f8beffba Removed AbstractEndpoint. 2008-08-13 17:12:21 +00:00
Mark Fisher
ee35a37f50 Renamed AbstractHandlerEndpointParser to AbstractMessageEndpointParser. 2008-08-13 16:50:25 +00:00
Mark Fisher
9669467f98 Renamed SimpleEndpoint to DefaultEndpoint. 2008-08-13 16:31:45 +00:00
Mark Fisher
616eba8701 Added more tests. 2008-08-13 16:17:11 +00:00
Mark Fisher
e16dce8aba Removed the HandlerEndpoint (now replaced by SimpleEndpoint). 2008-08-13 15:49:24 +00:00
Mark Fisher
a3f6254856 AbstractHandlerEndpointParser's default endpoint type is now SimpleEndpoint instead of HandlerEndpoint. The latter will be removed shortly. 2008-08-13 15:03:45 +00:00
Mark Fisher
5c9ac92f6b Removed the registerHandler() method from MessageBus. 2008-08-13 01:16:32 +00:00
Mark Fisher
f56334f06b Removed TargetEndpoint. 2008-08-12 23:31:48 +00:00
Mark Fisher
744db9e5a1 Added namespace support for the WireTap (INT-323). 2008-08-12 22:49:27 +00:00
Mark Fisher
1e8fa31e9d WireTap now accepts any MessageTarget for sending intercepted Messages instead of requiring a MessageChannel. 2008-08-12 21:45:25 +00:00
Mark Fisher
d212fb51b8 MethodInvokingSource and MethodInvokingTarget both accept a 'method' parameter, so that when the actual Method is known (e.g. annotation-driven post-processing), it can be set directly. The 'methodName' is still supported, because it is necessary for XML-based configuration (INT-334). 2008-08-12 21:13:58 +00:00
Mark Fisher
ead292fd1f The @MessageTarget annotation is now used with @ChannelAdapter (like @PollableSource) instead of @MessageEndpoint. 2008-08-12 20:49:55 +00:00
Mark Fisher
d0581e881f EndpointInterceptor postHandle now accepts the replyMessage only. InterceptingMessageHandler has been renamed MessageHandlerDecorator. Either the decorator or the interceptor's aroundHandle method may be removed since they are redundant. 2008-08-12 17:32:51 +00:00
Mark Fisher
ac770ce178 MessageTarget is now sufficient for the replyTarget (no longer requires MessageChannel), so for example it can now support the temporary returnAddress set by the MessageExchangeTemplate. Also, the 'outputChannel' is given precedence while 'returnAddress' is used as a fallback. This is consistent with the other Message-handling endpoint types (INT-332, INT-333). 2008-08-12 11:52:25 +00:00