Mark Fisher
|
709f6d72df
|
AbstractEndpointParser creates a DirectChannel for an 'input-channel' that is not explicitly configured within the context.
|
2008-10-06 20:11:49 +00:00 |
|
Mark Fisher
|
7d8dc775e4
|
AbstractMessageConsumingEndpoint is now AbstractMessageConsumer.
|
2008-10-06 18:23:00 +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
|
08e6db266b
|
Added ConsumerEndpointFactoryBean.
|
2008-10-05 22:18:54 +00:00 |
|
Mark Fisher
|
e119d493b2
|
Added SubscribingConsumerEndpoint.
|
2008-10-05 21:54:03 +00:00 |
|
Mark Fisher
|
180d57c418
|
Added PollingConsumerEndpoint.
|
2008-10-05 21:26:01 +00:00 |
|
Mark Fisher
|
c577d3ef2c
|
MessagingAnnotationPostProcessor now only calls method-annotation postProcessors if the annotated Method should trigger the creation of a MessageEndpoint. To qualify, it must be either a @ChannelAdapter annotation or define an "inputChannel".
|
2008-10-05 20:14:42 +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 |
|
Marius Bogoevici
|
6ad0682bd0
|
Improve the robustness of the ScheduledTaskExecutor
|
2008-10-04 21:03:44 +00:00 |
|
Mark Fisher
|
3d6969a837
|
Removed SourcePoller. SourcePollingChannelAdapter now extends AbstractPollingEndpoint.
|
2008-10-02 23:53:37 +00:00 |
|
Mark Fisher
|
5d40996acb
|
Moved ErrorHandler dependency from AbstractEndpoint to AbstractMessageConsumingEndpoint.
|
2008-10-02 22:46:22 +00:00 |
|
Mark Fisher
|
c4f61646f7
|
Removed getName from AbstractEndpoint.
|
2008-10-02 19:44:57 +00:00 |
|
Mark Fisher
|
4c02dd0605
|
Moved SubscribableChannel from the 'message' package to the 'channel' package.
|
2008-10-02 18:22:18 +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
|
b58706a1d7
|
Removed EndpointInterceptorParser and removed the "interceptors" sub-element from the "endpoint" element in the schema definition.
|
2008-10-02 02:47:29 +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
|
8ecc7604d6
|
Removed SchedulableTask interface. The only implementation (AbstractPoller) now implements Runnable directly and still provides the getTrigger() method.
|
2008-10-02 01:11:35 +00:00 |
|
Mark Fisher
|
c24df55e06
|
AbstractEndpoint no longer implements ChannelRegistryAware. AbstractMessageHandlingEndpoint and RouterEndpoint do.
|
2008-10-02 00:56:05 +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
|
cd5e68c5c1
|
AbstractPoller now has a setTransactionDefinition method instead of individual setters.
|
2008-10-01 18:59:32 +00:00 |
|
Mark Fisher
|
5d5f502e8e
|
Removed BlockingSource (unused).
|
2008-10-01 18:47:42 +00:00 |
|
Mark Fisher
|
8cea74f062
|
Using Asserts with IllegalArgumentException/IllegalStateException instead of ConfigurationException.
|
2008-09-30 03:44:40 +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
|
039679b173
|
Using Asserts with IllegalArgumentException/IllegalStateException instead of ConfigurationException.
|
2008-09-29 15:06:27 +00:00 |
|
Mark Fisher
|
1f0cf0fcf2
|
Using Asserts with IllegalArgumentException/IllegalStateException instead of ConfigurationException.
|
2008-09-29 14:24:56 +00:00 |
|
Mark Fisher
|
c78e7e67ad
|
Using Asserts with IllegalArgumentException/IllegalStateException instead of ConfigurationException.
|
2008-09-29 13:49:47 +00:00 |
|
Mark Fisher
|
e6f22df1bb
|
Using Asserts with IllegalArgumentException/IllegalStateException instead of ConfigurationException.
|
2008-09-29 13:25:43 +00:00 |
|
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 |
|