Commit Graph

407 Commits

Author SHA1 Message Date
Mark Fisher
170bc6ea79 Added the @Gateway annotation for per-method configuration when using GatewayProxyFactoryBean (INT-383). Also, the AbstractMessagingGateway now supports non-pollable reply channels. Note however, if using a gateway for no-arg receive() invocations, a PollableChannel is required and otherwise an IllegalStateException will be thrown (INT-384). 2008-09-28 22:15:22 +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
Mark Fisher
9afcda0a68 The <splitter/> element now creates a DefaultSplitter when no "ref" attribute is defined (INT-354). 2008-09-28 18:56:34 +00:00
Mark Fisher
98fc463155 Refactored MethodParameterMessageMapper's 'resolveHeaderName()' method into the MethodParameterMetadata inner class as getHeaderName(). 2008-09-28 13:46:39 +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
fd77d1a1d7 Started implementation of the 'toMessage()' functionality on MethodParameterMessageMapper (to be used by GatewayProxyFactoryBean after refactoring). Resolves parameters annotated with @Header and payload Objects. 2008-09-27 16:09:23 +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
acd1527470 Refactored isEligibleForCopying() to isReadyOnly(). The check is now done in the setHeader() method instead of only when copying header values. 2008-09-27 00:44:44 +00:00
Mark Fisher
8ea24913b5 Added SimpleHeaderEnricherParser. 2008-09-26 20:47:42 +00:00
Mark Fisher
a055f0d97d Added HeaderEnricher. 2008-09-26 20:42:25 +00:00
Mark Fisher
f2b7353165 Added namespace support for FileToStringTransformer and FileToByteArrayTransformer. 2008-09-26 18:27:22 +00:00
Mark Fisher
959b906f4e AbstractTransformerParser now creates the actual endpoint rather than requiring a "ref" to an object that implements Transformer. Therefore the element being parsed must provide 'input-channel' and 'output-channel'. 2008-09-26 17:42:11 +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
d30fe71dc2 MessagePublishingInterceptor uses MessageBuilder instead of MessageCreator. 2008-09-25 15:12:53 +00:00
Mark Fisher
51eb976236 Removed MailMessageMappers. MailMessageSendingConsumer now handles any MailMessage payload or byte array payload. For all other payload types, it calls 'toString' to generate the Mail text. 2008-09-25 14:40:48 +00:00
Marius Bogoevici
3e675ca2e5 Solves a race condition between start() on the class and run() on the internal SchedulerTask. 2008-09-25 04:56:26 +00:00
Mark Fisher
60e245f5a6 BroadcastingDispatcher tries to send to all consumers even if one "Selective Consumer" throws a MessageRejectedException (consistent with SimpleDispatcher's behavior). 2008-09-25 03:52:35 +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
506636caf0 The 'lifecycleLock' is now acquired within the isRunning() method. 2008-09-24 18:47:57 +00:00
Mark Fisher
d2bddbbbfa Removed Schedule, PollingSchedule, and CronSchedule. These have been replaced by Trigger, IntervalTrigger, and CronTrigger. 2008-09-24 18:36:36 +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
26834f88f8 Iteration on a SynchronizedSet must be manually synchronized (default mutex is the collection instance itself). 2008-09-24 17:28:47 +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
98b32a9516 Adding Trigger interface and the IntervalTrigger and CronTrigger implementations. 2008-09-24 14:59:32 +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
bc91df7db6 AbstractOutboundChannelAdapterParser now correctly invokes the 'parseAndRegisterConsumer()' method. 2008-09-24 01:26:01 +00:00
Mark Fisher
0ed3ba7657 Refactored CharacterStreamOutboundChannelAdapter to CharacterStreamWritingMessageConsumer and simplified the abstract method for AbstractOutboundChannelAdapter so that only a bean definition is returned (the base class now handles registration). 2008-09-24 00:00:55 +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
699b3bec29 Committing modified ChannelAdapterAnnotationPostProcessor that missed the last commit. 2008-09-23 20:16:15 +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
Mark Fisher
01e80f94ba Removed MethodArgumentMessageMapper. 2008-09-22 22:41:46 +00:00
Mark Fisher
b630f4a072 Refactored MethodArgumentMessageMapperTests to MessageMappingParameterResolverTests. 2008-09-22 22:38:49 +00:00