Commit Graph

339 Commits

Author SHA1 Message Date
Mark Fisher
397f976c08 Moved the setting of target object and method into DefaultMessageHandlerCreator instead of AbstractMessageHandlerCreator. If AbstractMessageHandlerAdapter's mapping result is null, the corresponding method argument will be null (no longer invoking getPayload() since there is a chance for null mapping results). 2008-05-15 20:43:00 +00:00
Mark Fisher
d38a7259d3 ResponseCorrelator is now ReplyMessageCorrelator. 2008-05-15 20:08:04 +00:00
Mark Fisher
6c31589987 Method parameter matching for Map or Properties will resolve to the payload if its type matches. Otherwise, the header attributes or properties will be passed respectively (INT-192). 2008-05-15 19:42:19 +00:00
Mark Fisher
be192a1691 Added support for @HeaderAttribute and @HeaderProperty parameter annotations (INT-192). 2008-05-15 18:29:13 +00:00
Mark Fisher
f6541eb7ec Refactored "channel-factory" from sub-element to attribute of the <message-bus/> element. 2008-05-15 14:00:51 +00:00
Mark Fisher
ce37d6b4e7 polishing 2008-05-15 13:39:58 +00:00
Mark Fisher
37b2f0a87d polishing 2008-05-15 13:21:59 +00:00
Marius Bogoevici
17294c44ec Adding support for defining a ChannelFactory on the MessageBus in the form:
<message-bus>
 <channel-factory ref="bean"/>
</message-bus>

The channel factory will be used for auto-created channels, as well as for channels created using the <channel/> syntax. For specifying a QueueChannel (with capacity), the newly added <queue-channel> element must be used.
2008-05-15 05:54:12 +00:00
Marius Bogoevici
035e9aef12 correcting import. 2008-05-15 05:11:02 +00:00
Mark Fisher
18d03ae2d7 Added support for the 'expect-reply' attribute in JmsGatewayParser. SimpleMessagingGateway now returns void instead of boolean, but it throws a MessageDeliveryException if the underlying RequestReplyTemplate fails to send the Message to the request channel. 2008-05-14 14:38:58 +00:00
Mark Fisher
9f95c5a1fa Added the abstract MessagingGatewaySupport base class providing access to a RequestReplyTemplate. Renamed MessagingGateway to SimpleMessagingGateway which now extends MessagingGatewaySupport (INT-126). 2008-05-14 12:56:53 +00:00
Mark Fisher
1f57305cae MethodInvokingHandler now has DefaultMessageMapper and DefaultMessageCreator unless overridden. 2008-05-11 20:32:13 +00:00
Mark Fisher
cc7f1cb91a Enforcing that a <source-endpoint/> element always contains exactly one <schedule/> sub-element. 2008-05-03 22:55:55 +00:00
Mark Fisher
4c0c3677d0 The <jms-gateway/> element is now available for message-driven JMS adapters. The <jms-source/> is strictly for polling adapters. Provided basic foundation for converting other request-reply adapters into "gateways". This includes the following namespace changes: 'send-timeout' is now 'request-timeout', 'receive-timeout' is now 'reply-timeout', and the 'channel' element is now 'request-channel'. The Source interface now includes the receive() method itself. PollableSource and SubscribableSource interfaces have both been removed. The Subscribable interface was added (e.g. for SynchronousChannel), but "gateway" adapter types will be configured directly with a request channel (and optionally a response channel). 2008-05-03 22:23:40 +00:00
Marius Bogoevici
4f42fe7227 Adding MessageBus, previously omitted. 2008-05-02 21:16:35 +00:00
Marius Bogoevici
0d8e8fc6ee Adding ChannelFactory, various implementations for different types of channels and DefaultChannelFactoryBean. 2008-05-02 21:10:18 +00:00
Marius Bogoevici
82ecd5f5b8 <message-bus/> will automatically add a MessageBusAwareBeanPostProcessor to the context. 2008-05-02 06:10:18 +00:00
Marius Bogoevici
d0041dd8ad Adding class ommitted from previous checkin. 2008-05-02 05:21:20 +00:00
Marius Bogoevici
cc5011428d Added the MessageBusAware interface, as well as the MessageBusAwareBeanPostProcessor for injecting the MessageBus in the implementing beans. 2008-05-02 05:11:17 +00:00
Mark Fisher
78905d9bcb Added MessagingGateway as a subclass of RequestReplyTemplate that is also a superclass for the GatewayProxyFactoryBean. 2008-05-01 13:09:11 +00:00
Mark Fisher
369ea90b24 Refactored ChannelParser into a hierarchy of parsers. Added namespace support for "rendezvous-channel" and "direct-channel" (a.k.a. SyncrhonousChannel at this point). 2008-04-28 23:59:43 +00:00
Mark Fisher
d252605bdb The "defaultOutputChannelName" property of HandlerEndpoint is now "outputChannelName", and the "defaultOutput" attribute of the @MessageEndpoint annotation is now "output". 2008-04-27 06:00:40 +00:00
Mark Fisher
09333d62cb The <handler-endpoint/> element's "default-output-channel" attribute is now "output-channel". Since the new "return-address-overrides" value is true by default, the "output-channel" takes precedence rather than being a fallback. 2008-04-27 05:29:59 +00:00
Mark Fisher
9eaa088052 The <endpoint/> element is now <handler-endpoint/>, and its "handler-method" attribute is now "method". 2008-04-27 05:01:38 +00:00
Mark Fisher
412c5b3134 Added namespace support for target-endpoint. 2008-04-27 02:25:53 +00:00
Mark Fisher
64c498838c GatewayProxyFactoryBean now supports receive-only operations. Also added support for timeouts and type-conversion. 2008-04-25 19:14:14 +00:00
Mark Fisher
24a15520ba PollingSourceEndpoint now provides initializeTask() for one-time only as well as refreshTask() to reconfigure proxies at runtime. 2008-04-25 15:18:39 +00:00
Mark Fisher
2147ac43ed Restricting advice to the "run" method of MessagingTask, and added synchronization for proxy initialization. 2008-04-25 12:45:12 +00:00
Mark Fisher
c92b24f959 Added initial implementation of GatewayProxyFactoryBean. 2008-04-24 23:41:52 +00:00
Mark Fisher
cfb0d7e2fd Added 'taskAdviceChain' and 'dispatchAdviceChain' to PollingSourceEndpoint. 2008-04-24 19:57:27 +00:00
Mark Fisher
467e0f803d PollingSourceEndpoint delegates to PollingDispatcher. Added sendTimeout to SimpleDispatcher. 2008-04-24 14:25:34 +00:00
Mark Fisher
9c67c1516f Added more tests for returnAddress and output channel. 2008-04-24 11:36:14 +00:00
Mark Fisher
7d3755c099 Added "returnAddressOverrides" property for endpoints ('return-address-overrides' in XML). The default value is 'false' indicating that any explicitly defined output channel should take precedence. 2008-04-24 03:41:50 +00:00
Mark Fisher
28f914748b ChannelAdapterParser is now MethodInvokingAdapterParser and only creates the source or target. The result should be configured with a SourceEndpoint or TargetEndpoint. 2008-04-24 00:43:08 +00:00
Mark Fisher
4d19a02f15 Added PollingSourceEndpoint, removed PollingSourceAdapter, and source-adapter parsers only parse the Source itself. 2008-04-23 23:47:02 +00:00
Mark Fisher
9f3bc80949 Factored out the common target endpoint type to enable change to 'target-endpoint' and 'handler-endpoint'. 2008-04-23 14:18:01 +00:00
Mark Fisher
9fd30d1ed4 Moved awareness of SynchronousChannel out of the MessageBus and into the SubscriptionManager. 2008-04-23 13:37:27 +00:00
Mark Fisher
bf0f8b16ec SimpleChannel is now QueueChannel. Also added RendezvousChannel for the zero-capacity SynchronousQueue-based version. 2008-04-22 20:26:19 +00:00
Mark Fisher
4b01a3a09c The <endpoint/> element now expects a "handler" attribute instead of "handler-ref". 2008-04-22 18:17:05 +00:00
Mark Fisher
cb3c4fbdc3 Removed support for <handler/> sub-element for <endpoint/> since the 'handler-ref' attribute is sufficient. 2008-04-22 17:44:23 +00:00
Mark Fisher
3d63406053 MessageBus now registers endpoints and source adapters (and starts if its autoStartup property is set to "true") after receiving a ContextRefreshedEvent rather than the excessively eager start during the 'setApplicationContext' callback (INT-196). 2008-04-22 16:56:27 +00:00
Mark Fisher
c9cdff0aee Added removeAttribute() and removeProperty() methods (INT-203, INT-204). 2008-04-22 13:40:42 +00:00
Mark Fisher
e0563a6173 Checking for null prior to setting the channelRegistry on the endpoint's handler (short term fix for INT-202). 2008-04-21 20:51:38 +00:00
Mark Fisher
d30f3230b0 Simplified Message dispatching. Removed MessageRetriever and MessageDistributor (and the "default" implementations). Added SimpleDispatcher and PollingDispatcher. Added the SubscribableSource interface and a SubscriptionManager to simplify the coordination of dispatchers within the MessageBus. These changes also lay the groundwork for further refactoring of the various Source and SourceAdapter implementations. 2008-04-18 21:26:31 +00:00
Mark Fisher
0bd9ea9255 TargetEndpoint now returns false when one of its MessageSelectors rejects a Message rather than throwing an Exception. Added Source, BlockingSource, and BlockingTarget interfaces. MessageChannel now extends BlockingSource and BlockingTarget. 2008-04-17 21:06:14 +00:00
Mark Fisher
0f6bd60ee0 Added Target interface and split DefaultMessageEndpoint into TargetEndpoint and HandlerEndpoint. All "one-way" adapters now implement Target instead of MessageHandler, the ConcurrentHandler is now ConcurrentTarget, and the MessageDispatcher also operates on Targets rather than MessageHandlers. 2008-04-17 17:25:56 +00:00
Mark Fisher
e9673586c4 On destruction, ConcurrentHandler calls shutdownNow() on its Executor rather than shutdown(). 2008-04-16 19:50:32 +00:00
Mark Fisher
a0072b3e66 DefaultMessageEndpoint constructor now requires a MessageHandler. The endpoint no longer invokes Lifecycle methods on the MessageHandler. 2008-04-16 19:14:26 +00:00
Mark Fisher
9710edaa3c If no ErrorHandler is available, errors will be logged at WARN level (INT-138). 2008-04-16 18:47:12 +00:00
Mark Fisher
7edfc96f5e MessageHandlingExceptions (other than selector-rejection, handler-not-running, and executor-rejection) are now propagated from DefaultMessageDistributor (INT-184). 2008-04-16 18:07:14 +00:00