Commit Graph

9623 Commits

Author SHA1 Message Date
Gary Russell
6b81fb1e0c INT-3353 Fix Docbook White Space
JIRA: https://jira.spring.io/browse/INT-3355
2014-04-07 14:03:44 -04:00
Artem Bilan
9754d59f62 INT-3358: Make MutableMessage package protected
JIRA: https://jira.spring.io/browse/INT-3358
2014-04-07 19:19:49 +03:00
Gary Russell
4dee2a224b INT-3353 Concurrent RedisMetadataStore
JIRA: https://jira.spring.io/browse/INT-3353

Shared metadata for PersistentAcceptOnceFileListFilters.

INT-3353 Polishing; PR Comments
2014-04-07 17:38:33 +03:00
Gary Russell
40a535b140 INT-3352 RedisLockRegistry
JIRA: https://jira.spring.io/browse/INT-3352

Provid a global lock registry, initially for the correlating
message handlers.

INT-3252 Polishing

- Use a discrete key for each lock and use Redis EXPIRE
- Use an internal DefaultLockRegistry to improve latency
    when threads are using the same registry instance.

INT-3352 More Polish

- Put localLock.unlock() in a finally block.
- Unlock localLock if acquiring the RedisLock fails.

INT-3352 Polishing - PR Comments

- PR Comments
- Improve equals()

INT-3352 Add Aggregator Integration Test

- move lock registry to the `util` package
- Add an aggregator integration test

INT-3352 Add Distributed Aggregator Test

- Simulates a distributed environment with a shared message
    store and distinct lock registries.

INT-3352 More PR Comments

INT-3352 Add Multiple Registry Tests

- Add tests to verify expected behavior when different registries are used.
- Polish javadocs.
2014-04-06 07:48:31 +03:00
Artem Bilan
eb0d1ddc84 INT-2595: Add Time-Based ReleaseStrategy Option
JIRA: https://jira.spring.io/browse/INT-2595

* Add `group-timeout` and `group-timeout-expression` to the Correlation Endpoint
* Add logic to the `AbstractCorrelatingMessageHandler` to schedule group for `forceComplete`,
when the target `ReleaseStrategy` returns `false`

INT-2595: Polishing according PR comments

INT-2595: Expose `lock-registry` and further docs

INT-2595 Doc and Test Polishing

INT-2595: Fix typos

INT-2595 More Minor Doc Polish
2014-04-05 10:49:20 -04:00
Gary Russell
882da62ba0 INT-3354 Fix Priority Order in RedisPCMS
JIRA: https://jira.spring.io/browse/INT-3354

Wrong sort order; was treating priority 0 as highest.
2014-04-04 16:47:55 -04:00
Gary Russell
9dee131e3c INT-3349 BeanFactory Propagation
JIRA: https://jira.spring.io/browse/INT-3349

Several FactoryBeans did not propagate the BeanFactory
to their created object(s). Beans that create messages
must have access to a bean factory to get the
message builder factory.

Fix the FactoryBeans and add a mock FB to all tests that
need one.

Add a runtime environment variable to make any infractions
fatal. This should be set to `true` on CI builds and on
framework developer environments.
2014-04-02 14:15:48 -04:00
Artem Bilan
35af66c364 INT-3350: Register IntRMHM, if Servlet is Present
https://jira.spring.io/browse/INT-3350
2014-04-02 10:03:21 -04:00
Andy Wilkinson
16b5f1424c Update JavaMail dependencies
This commit updates the JavaMail dependency to use the new coordinates,
although the version that's being used remains unchanged. This brings
the dependency into line with other javax dependencies. It also paves
the way for moving to 1.5 at some point in the future as 1.5 no longer
publishes the javax.mail:mail artifact
2014-04-01 14:46:49 +01:00
Gary Russell
e3665bd84f Prevent Travis from Emitting ANSI CTRL Chars 2014-03-31 17:49:41 -04:00
Gary Russell
6292255c52 Rename travis.yml -> .travis.yml 2014-03-31 17:04:46 -04:00
Gary Russell
91d6dfccac Add travis.yml 2014-03-31 16:54:58 -04:00
Spring Buildmaster
44e616addb [artifactory-release] Next development version 2014-03-31 11:00:04 -07:00
Spring Buildmaster
9cdd3524db [artifactory-release] Release version 4.0.0.M4 2014-03-31 10:59:57 -07:00
Artem Bilan
969310b453 INT-3327: Add IntegrationConverter Annotation
JIRA: https://jira.spring.io/browse/INT-3327

INT-3327: Addressing PR comments

Polishing
2014-03-31 13:02:47 -04:00
Artem Bilan
d74b4dba73 INT-2918: Fix 'Redis available' for ROGTests 2014-03-31 11:59:42 -04:00
Gary Russell
5f51d191e4 INT-3345 Update Spring-AMQP to 1.3.1.RELEASE
JIRA: https://jira.spring.io/browse/INT-3345
2014-03-31 11:02:35 -04:00
Artem Bilan
945455f360 INT-2918: Add Redis Outbound Command Gateway
JIRA: https://jira.springsource.org/browse/INT-2918

INT-2918: Improvement according PR comments

INT-2918: Polishing according PR comments

Minor Doc Polishing

INT-2918: Change `notNull` message

Polishing
2014-03-31 10:51:25 -04:00
Artem Bilan
c11e3ba3b5 INT-3337: MongoDbMessageStore Refactoring
JIRA: https://jira.spring.io/browse/INT-3337

INT-3337: Addressing PR comments

INT-3337: Add support to store/read Messages

* Add support to store/read `ErrorMessage`. As a trick for `Throwable` is selected (de)serializing converter

INT-3337: Add converters for `Message<?>` impls

INT-3337: Make `MDbMS.MessageWrapper` AuditAware

Add `_id` persistence field

Addressing PR comments

Polishing

- Docs
- Check for null ApplicationContext
- Add afterPropertiesSet() to tests
2014-03-28 16:46:48 -04:00
Artem Bilan
6d6bef58b2 INT-3326 Add GlobalChannelInterceptor Annotation
JIRA: https://jira.spring.io/browse/INT-3326

INT-3326: Add parent-child test

INT-3326: Fix `ClassCastException` for `GCII`

INT-3326: Rebase and Polishing

INT-3326: Fix `GCII` for `getBeanNamesForType`

INT-3326: Add `GlobalChannelInterceptor` annotation

JIRA: https://jira.spring.io/browse/INT-3326

INT-3326: Add parent-child test

INT-3326: Fix `ClassCastException` for `GCII`

INT-3326: Rebase and Polishing

INT-3326: Fix `GCII` for `getBeanNamesForType`

INT-3326 Polishing Doc, JavaDocs

Also fix a typo in the bean name for the CI processor.

INT-3326: Polishing

Doc Polishing
2014-03-28 14:04:22 -04:00
Artem Bilan
42a13c830d INT-2743: Improve <header-enricher>.<priority>
JIRA: https://jira.spring.io/browse/INT-2743
2014-03-28 13:06:49 -04:00
Artem Bilan
39a7fb3adf INT-3346: Add @Id to CMDbMS.MessageDocument
JIRA: https://jira.spring.io/browse/INT-3346

An `@Id` field is required when MongoDB auditing
is enabled in the ApplicationContext.

This change does not make the document Auditable,
it just prevents an exception being thrown when
auditing is enabled.
2014-03-28 10:46:56 -04:00
Gary Russell
66a23a2835 INT-3345 Update Spring-AMQP to 1.3.0.RELEASE
JIRA: https://jira.spring.io/browse/INT-3345
2014-03-27 17:35:55 -04:00
Artem Bilan
e3f8ef534b INT-3331: Add ChannelSecurityInterceptorFB
JIRA: https://jira.spring.io/browse/INT-3331

INT-3331: PR comments and others

* Register `ChannelSecurityInterceptorBeanPostProcessor` as a `BeanDefinition` (not `BPP`)
* Get `ChannelSecurityInterceptor`s from `ChannelSecurityInterceptorBeanPostProcessor#afterPropertiesSet()`
* Make `ChannelSecurityInterceptor` `final` to disallow to subclass it for unexpected issues
* Provide more convenience to the `ChannelSecurityInterceptorFactoryBean` - to allow to use it from xml configuration

Doc Polishing
2014-03-27 14:06:35 -04:00
Gary Russell
5587d79070 INT-3330 Fix JDK8 Javadoc Violations
JIRA: https://jira.spring.io/browse/INT-3330
2014-03-27 13:21:20 -04:00
Gary Russell
e9337a401e INT-3344 Update Spring Framework to 4.0.3
JIRA: https://jira.spring.io/browse/INT-3344
2014-03-27 12:56:17 -04:00
Artem Bilan
97c270c0e2 INT-3330 EnableIntegrationMBeanExport Annotation
JIRA: https://jira.spring.io/browse/INT-3330

INT-3330: Enable SpEL evaluation

INT-3330: Polishing for `MBeanExporterHelper`

INT-3330: Fix `errorChannel` early access

INT-3330: Polishing according PR comments

Polishing - copyrights, author, docs
2014-03-27 12:53:20 -04:00
Gary Russell
1d6e80ecd0 INT-3342 Allow Custom TypeLocator for SpEL
JIRA: https://jira.spring.io/browse/INT-3342

Allow customization of the `TypeLocator` used by SpEL
`EvaluationContext`s throughout the framework.
2014-03-27 10:23:38 +02:00
Gary Russell
d6ed8dc7d0 Add Bamboo Status to README 2014-03-26 18:19:19 -04:00
Gary Russell
dcf4932d80 INT-3343 Bump JSch, Hibernate Versions
JIRA: https://jira.spring.io/browse/INT-3343
2014-03-26 16:29:47 -04:00
Gary Russell
70c43c8eed Test, Javadoc Cleanup
* Remove an unnecessary test.
* Fix timing in header channel registry test.
* Fix Javadocs in VetoCapableInterceptor
2014-03-26 10:09:32 -04:00
Gary Russell
9998880485 INT-3336 Fix MQTT Test Rule
JIRA: https://jira.spring.io/browse/INT-3336

Disconnect the client after verifying the broker is available.
Change the rule to a class level rule in DownstreamExceptionTests.
2014-03-21 15:05:42 -04:00
Gary Russell
98d735d058 INT-3336 Add error-channel to MQTT m-d-c-a
JIRA: https://jira.spring.io/browse/INT-3336

Previously exceptions thrown in a flow downstream of a
message-driven-channel-adapter were not logged and thrown
back to the client, causing the connection to drop and
reconnect.

Add `error-channel` to the adapter to allow normal
error handling. If no error channel, catch and log
the unhandled exception.

Add `adapter.stop();` in the end of 'real' tests to close the mqtt-connection
2014-03-21 20:44:11 +02:00
Gary Russell
b92134fae7 INT-3332 GlobalChannelInterceptorBeanPostProcessor
Implicit channel declaration for items downstream
of a `ChannelInterceptor` were not created.

The `BPP` eagerly fetched the interceptors during its
own creation; this caused the context initialization to fail
because the channel initializer hasn't run yet.

Defer creation of the interceptor beans until they are
actually needed.

Also, when using `@Configuration`, the channelInitializer
is no longer the first bean in the bean factory.

INT-3332 Use SmartLifeCycle to Apply Interceptors

Instead of using a bean post processor, the interceptor
processor now performs the channel interception when beans
in phase Integer.MIN_VALUE are started - after all beans
have been instantiated.

Polishing
2014-03-19 15:33:32 +02:00
Artem Bilan
23a26ca38e INT-3328: Add EnablePublisher Annotation
JIRA: https://jira.spring.io/browse/INT-3328

INT-3328: Polishing
2014-03-18 16:30:41 -04:00
Gary Russell
a8c8a4fed5 INT-3325 Add Redis Channel Message Group Store
JIRA: https://jira.spring.io/browse/INT-3325
JIRA: https://jira.spring.io/browse/INT-1870

Optimized MGS for QueueChannel - uses a LIST for
each channel and LPUSH, RPOP.

* Also fix MutableMessage to be Serializable

INT-1870 Priority Redis Channel Message Store

Supports priorities 0-9 (+ no priority).

Priorities out of that range are treated as no priority.

Polishing - Add Marker Interfaces

* Emit a `WARN` log if a channel is used with a regular MessageGroupStore
* Allow message-store on namespace when defining a priority channel

INT-3325 Polishing; PR Comments

Fix some typos in JavaDocs and Docs
2014-03-18 12:34:06 +02:00
Gary Russell
a9faa5836f Fix Typo in DEBUG Message
Also add another control-bus test.
2014-03-14 15:24:00 -04:00
Artem Bilan
f1cd5ede66 INT-3324: Simple refactoring to Routers
JIRA: https://jira.spring.io/browse/INT-3324

* Move `private` `ExpressionControlBusFactoryBean$ControlBusMethodFilter` class
to the `org.springframework.integration.expression.ControlBusMethodFilter`
to make it as convenient to use from JavaConfig
2014-03-13 14:41:00 -04:00
Artem Bilan
dafa765d88 INT-3321: Remove powermock Dependency
JIRA: https://jira.spring.io/browse/INT-3321

Refactor `StoredProcExecutorTests` just to use Mockito

INT-3321 Polishing

Mock the operations cache loader; remove static method.
2014-03-13 13:31:59 -04:00
Gary russell
c73cc40e23 INT-3322 JDBC i-c-a SpEL Select ParameterSource
JIRA: https://jira.spring.io/browse/INT-3322

Support the use of an ExpressionEvaluatingSqlParameterSource
from the ExpressionEvaluatingSqlParameterSourceFactory as the
`select-sql-parameter-source` for an inbound channel adapter.

Add documentation showing how to construct the bean.

Add a mechanism to disable caching so that the expression is
re-evaluated each time. However, the value should still be
cached between the `hasValue()` and `getValue()` calls.

INT-3322 Polishing; PR Comments
2014-03-13 16:09:49 +02:00
Biju Kunjummen
98b46c61f3 INT-3323: Add poller element to HTTP-outbound
JIRA: https://jira.spring.io/browse/INT-3323

Poller is internally supported in the bean definition of an http outbound gateway and outbound adapter, but it is not supported by their schema. This change attempts to fix the schema.

* Added in schema element for base poller, in both outbound adapter and outbound gateway
* Added in tests to ensure that a PollingConsumer is the instance type
* Polishing `import` for test classes
2014-03-13 09:41:35 +02:00
Artem Bilan
b12312114a INT-3320: Update Dependencies
JIRA: https://jira.spring.io/browse/INT-3320
2014-03-12 11:57:28 -04:00
Artem Bilan
8429424d46 INT-3317: Remove comparator from resequencer
JIRA: https://jira.spring.io/browse/INT-3317

In addition add `AbstractCorrelatingMessageHandler.discardChannelName` for convenience with JavaConfig

INT-3317: Add `AbstractCorrMH.outputChannelName`

INT-3317: Fix further `BF` population

Also add `MessageFilter.discardChannelName`

Move `XPathExpressionEvaluatingHeaderValueMessageProcessor` to the `xml.transformer.support` package

Additional polishing

Polishing

PR comments.
2014-03-12 11:25:17 -04:00
Gary Russell
75af72a77c INT-3319 Fix BeanFactory Propagation
JIRA: https://jira.spring.io/browse/INT-3319

The `MessageBuilderFactory` abstraction relies on the bean factory
being propagated to all classes that create messages.

Some classes were missed in the initial PR.
2014-03-12 12:03:31 +02:00
Gary Russell
1c9bcaccee INT-3041 Add Namespace Support For Retry Advice
JIRA: https://jira.spring.io/browse/INT-3041

Add namespace support to simplify configuration of
a `RequestHandlerRetryAdvice.

INT-3041 Polishing; PR Comments

* Allow a retry-advice element within the request-handler-advice-chain
* Clean up schema (should not have allowed `synchronization-factory` on
    the request-handler-advice-chain.

INT-3041 Polishing; PR Comment
2014-03-11 17:56:51 +02:00
Gary Russell
c7265d8e4a INT-3288 Use Unique Queues for Tests
JIRA: https://jira.spring.io/browse/INT-3288

Possible crosstalk between in inbound and outbound channel
adapter tests - they used the same queue (foo). The outbound
test leaves a message in the queue.
2014-03-11 10:41:47 -04:00
Gary Russell
5d0eafc608 INT-3316 BeanFactoryTypeConverter Concurrency
JIRA: https://jira.spring.io/browse/INT-3316

The `SimpleTypeConverter` delegate uses property editors
which are not thread safe. We protect against concurrent
access when the source is not a String, but when a String,
we delegate to the `STC`.

Synchronize access to the `STC.convertIfNecessary()` method.
2014-03-10 13:42:15 -04:00
Artem Bilan
7adc9537b6 INT-3314: Fix BeanFactory Population for SAH
JIRA: https://jira.springsource.org/browse/INT-3314

Add to `ServiceActivatingHandler` `beanFactory` population code for the `MessageProcessor` delegate

INT-3314: Populate `BF` to `HValueMProcessor`s

Make `XPathExpressionEvaluatingHeaderValueMessageProcessor` as `public`

INT-3314: Populate `BF` to `HE.messageProcessor`

INT-3314: Add `BF` `NPE` protection

INT-3314 XPath Header Enricher Test

Add a test that verifies the `BeanFactoryTypeConverter` is used
(convert to a TimeZone object).
2014-03-10 12:01:53 -04:00
Gary Russell
267fc5b3db INT-3315 Use Non-Peristent AMQ Broker for Tests
JIRA: https://jira.spring.io/browse/INT-3315

Some tests use a persistent broker which can cause crosstalk
between tests/test runs.
2014-03-09 14:14:25 -04:00
Gary Russell
3cba7d522a INT-3288 Increase receive-timeout
JIRA: https://jira.spring.io/browse/INT-3288

Block in the ActiveMQ client for each poll instead
of returning immediately.
2014-03-09 12:24:19 -04:00