Commit Graph

76 Commits

Author SHA1 Message Date
Artem Bilan
45c429ee2b INT-2275: any outbound-channel-adapter in <chain>
Add re-init logic for nested chains
Add logic about nested element for AbstractChannelAdapterParser
Refactor of DefaultOutboundChannelAdapterParser
Test for non-last nested chain with some outbound-channel-adapter
Improve XSD for chain-type
Manual outbound-channel-adapter ability for chain
Integration tests for all outbound-channel-adapter within <chain>
Remove redundant 'return-value-required' attribute from <stored-proc-outbound-channel-adapter>
Add support 'expectReply' for FileWritingMessageHandler

INT-2275 polishing & refactor FileOutbound*Parser

HttpRequestExecutingMessageHandlerTests polishing

INT-2275: polishing JavaDoc
2012-05-14 12:41:39 -04:00
Gary Russell
95cd202be6 INT-2536 Create 2.2 Schemas
Add 2.2 versions of module schemas.

JMX is already covered by an existing pull request.

INT-2536 Schema Check

Bump version for schema check in
AbstractIntegrationNamespaceHandler.

INT-2536 Remove Schema Versions

Some test config files had 2.1 versioned schemas.
2012-05-04 10:04:01 -04:00
Gary Russell
f75dc53ab0 INT-2431 Improve 'Dispatcher Has No Subscribers'
Add channel name to MessageDeliveryException

'Dispatcher has no subscribers'.

In a large integration flow, it can be difficult to track
down which subscribable channel has no subscribers.

This commit adds to the message text in the form

    for channel someChannelName

to the exception message. For example:

    "Dispatcher has no subscribers for channel myChannel."

Also

    for amqp-channel someAmqpChannelName
    for jms-channel someJMSChannelName
    for redis-channel someJMSChannelName

INT-2431 Polishing

Make component type and name immutable once set to avoid
channels further down the stack frame claiming ownership.

INT-2431 Polishing

* PR Comments - use a new Exception type
* Add support for Redis
* Add WARN logs for AMQP/JMS pub-sub channels

INT-2431 Polishing

PR Comments: tighten up isPubSub field in AMQP-backed channel.

INT-2431 Polishing

Ensure channel name is not 'null' or empty string.
2012-03-23 09:50:01 -04:00
Gary Russell
292aa90599 INT-2404 Fix Auto-Created Channel; Event, TCP, UDP
The AbstractChannelAdapterParser creates an implicit DirectChannel
if the adapter has no 'channel' attribute.

The Event, TCP, and UDP channel adapter parsers did not bind
this channel to the adapter and AC initialization failed with
'outputChannel is required'.

Further, the event schema marked the channel as being 'required',
precluding this feature.

INT-2407 Remove Channel use="required"

Parsers automatically generate the channel when none is provided.

- JMX
- JDBC
- SFTP
- Redis
- Feed
- XMPP
- Mail
- FTP
- HTTP
2012-01-23 10:12:34 -05:00
Gary Russell
ca89573209 INT-2400 More Invalid Class Names in Schemas
File, Feed, Ftp, Redis
2012-01-14 10:56:15 -05:00
Gary Russell
f76f63f23a NT-2400 Fix tool:expected-type Classes
* MessageChannel was moved from core to the base package.
* ChannelResolver moved from core to support.
* TcpConnectionInterceptorFactoryChain was incorrect.
2012-01-13 13:21:41 -05:00
Chris Beams
f30da932e8 INT-2388 Update Gradle build
This is a significant update to the build system, including the changes
listed below. README.md has been updated with instructions on the most
important day-to-day commands.

 - Eliminate buildSrc submodule

   In favor of using the new bundlor and docbook-reference plugins. The
   net effect is a large reduction in number of lines of build code.
   Common docbook resources, stylesheets, etc are stored directly in the
   docbook plugin.

   This means that --recursive is no longer required when cloning and
   there will never be a need to use `git submodule` commands. README
   files have been updated to reflect.

   Use of the new bundlor plugin also means the removal of template.mf
   files from the source tree in favor of an inline approach. See
   build.gradle for details. Bundlor 'import templates' are built up
   programmatically and kept physically close to gradle dependency
   declarations, leading to more convenience when changing these values
   and hopefully fewer errors / version inconsistencies over time.

   Certain tests depended on the presence of template.mf files, all of
   which have recently been removed from the source tree in favor of the
   new bundlor plugin which allows for inlining bundlor configuration
   within the Gradle build script. These tests now create temp files
   using the java.io.File API instead.

 - Upgrade to Gradle 1.0-milestone-6

   The m6 release is significantly faster when resolving dependencies
   and has a number of valuable new features over the earlier m3
   version. Review the release notes for Gradle 1.0-milestone-6 online
   for full details.

 - Switch to repo.springsource.org repository

   Previously the project build declared as many repositories as
   necessary to resolve all project dependencies.

   Now depending on a single 'virtual repository' defined within the
   SpringSource Artifactory instance at http://repo.springsource.org.
   Currently, the virtual repository in use is 'libs-milestone', which
   allows for the resolution of all "milestone-or-better" versions of
   all S2 and third-party dependencies.

   Should snapshot dependencies become required, this value may be
   changed from 'libs-milestone' to 'libs-snapshot'. To build only
   against GA releases, change the value to 'libs-release'.

 - New build plan(s)

   Spring Integration build plans have been updated to use the
   Artifactory Bamboo plugin and publish to repo.springsource.org.
   Build plans have names like 2.1.x to reflect the version under
   development, not necessarily the name of the branch, as this may
   change over time and across major releases.

 - Improve release process

   As mentioned above, Spring Integration will now use the Artifactory
   Bamboo plugin to publish releases and also use Artifactory's support
   for pushing builds directly into Maven Central via oss.sonatype.org.

   Generate poms that contain all necessary fields for onboarding at
   Maven central (scm, developers, organization, licenses, etc).

   Generate -source and -javadoc poms to comply with Maven Central
   onboarding rules (and for general good practice anyway).

   Generation of PGP signatures, sha1 and md5 checksums are all handled
   automatically by Artifactory. These are also requirements for
   automated entry into Maven Central.

 - Remove source-level pom generation

   Automatic generation of Maven poms suitable for use in building
   Spring Integration is no longer supported. Generation and
   publication of poms for the purpose of dependency management remains
   supported.

   Sonar support has to date depended on these poms, but will be
   switched over to use the Gradle Sonar plugin shortly.

 - Eliminate docs subproject

   Move docs/src to the root of the project and eliminate docs as a
   formal subproject. This simplifies the build in a number of ways,
   including removing the need for distinguishing between 'subprojects'
   and 'javaprojects' as well as allowing users to build both 'api' and
   'reference' docs without qualifying with a ':docs' prefix.

   Also rename the src/info directory to src/dist to better reflect that
   these files are packaged with the distribution. For example, the
   readme.txt there is really the distribution readme, distinct from the
   README.md at the root of the project which is for building from source,
   etc.
2012-01-05 17:49:04 -05:00
Gary Russell
89cdef7a90 INT-2373 package-info JMX
INT-2374 package-info Mail

INT-2375 package-info MongoDB

INT-2376 package-info Redis

INT-2377 package-info RMI

INT-2379 package-info Security

INT-2381 package-info Stream
2012-01-05 15:29:48 -05:00
Gary Russell
4810d3c634 INT-2354 Fix Race Condition in Tests
Some messages could occasionally be lost because the
listener container had not yet subscribed to the queue when
we started sending messages to it.
2012-01-05 10:48:22 -05:00
Oleg Zhurakousky
05e9828a6b INT-2358
added Lifecycle method implementations to RedisInboundChannelAdapter
2012-01-05 09:37:14 -05:00
Gunnar Hillert
4d81e649ba INT-2356 - Update Jackson to 1.9.2
For reference see: https://jira.springsource.org/browse/INT-2356
2012-01-04 15:07:46 -05:00
Gary Russell
65fa5358e7 INT-2355 Update Mockito to 1.9.0 2012-01-04 12:05:48 -05:00
Mark Fisher
abe6220e02 Update version to 2.1.0.BUILD-SNAPSHOT 2011-12-23 12:15:13 -05:00
Mark Fisher
e67c115004 Release version 2.1.0.RC2 2011-12-23 12:00:52 -05:00
Gunnar Hillert
0c376dd694 INT-2339 - Make spring-tx an explicit dependency
for the Spring Integration MongoDb Module

Also addresses: https://jira.springsource.org/browse/INT-2340

For reference see: https://jira.springsource.org/browse/INT-2339
2011-12-23 10:39:23 -05:00
Oleg Zhurakousky
c825689d60 INT-2338
added MessageHistory tests to all implementations of MessageStore
2011-12-22 21:23:49 -05:00
Mark Fisher
21c727b6fe INT-2329 upgrading to Spring 3.0.7 2011-12-22 15:27:53 -05:00
Oleg Zhurakousky
d9531a74fd INT-2328-v3 polishing tests 2011-12-21 14:10:08 -05:00
Oleg Zhurakousky
70f8177a6d INT-2328-v2
SubscribableRedisChannel as well as other components to initialize MessageListenerAdapter as it is now neccessery after Redis upgrade

INT-2328-v2 polishing

INT-2328-v2 polishing
2011-12-21 12:59:00 -05:00
Oleg Zhurakousky
cceace69ca INT-2328 added Null checks to SubscribableRedisChannel 2011-12-21 11:01:08 -05:00
Artem Bilan
ec8c3e62f4 INT-2325
* fix RedisChannelParser 'serializer' ref
  * some RedisChannelParser polishing
  * test for 'serializer' attribute
  * SubscribableRedisChannel delegates getPhase() to container
2011-12-21 10:27:54 -05:00
Mark Fisher
77abc55a1e INT-2322 2011-12-20 13:18:57 -05:00
Mark Fisher
86655c96ef INT-2309
upgrading spring-data-redis dependency to 1.0.0.RELEASE
2011-12-14 18:10:57 -05:00
Mark Fisher
4417d5d8b0 Update version to 2.1.0.BUILD-SNAPSHOT 2011-11-23 17:33:09 -05:00
Mark Fisher
1001d74ba7 Release version 2.1.0.RC1 2011-11-23 17:20:56 -05:00
Oleg Zhurakousky
50d8caa1c3 INT-2231
Fixed JdbcMessageStore to reuse CREATED_DATE while updating UPDATED_DATE

  Added support for configuring MessageGroup timeout based on the idle time of the MessageGroup

  Changed updatedTimestamp to lastModified

  Added an assertion to AbsractMessageGroup.expireMessageGroups to check if lastModified is 0

  Changed attribute name in MessageWrapper in Mongo Message Store
2011-11-21 15:56:04 -05:00
Mark Fisher
2bd870200d Update version to 2.1.0.BUILD-SNAPSHOT 2011-10-26 11:26:37 -05:00
Mark Fisher
4f12694d82 Release version 2.1.0.M3 2011-10-26 10:44:18 -05:00
Oleg Zhurakousky
ddeab16394 INT-2182 interim
INT-2182 interim

INT-2182 work in progress

INT-2182 Refctored MessageGroupQueue and related classes
- created MGS.pollMessageFromGroup(groupId)
- removed MARKED messages concept
- renamed UNMARKED to just Messages
- removed keepReleasedMessages attribute
- refactored JdbcMessageStore to NOT store Messages that belong to a MessageGroup in the MessageGroup table, only relationship
- provided implementation of pollMessageFromGroup method in JdbcMessageStore
- polished tests

INT-2182 refactored MongoDB support to reflect changes to MGQ

INT-2182 added Gemfire support for polling

INT-2182 added Redis support

INT-2182 polishing
removed syncronized blocks from SMG, added availablePermits() method to UpperBound, polished JdbcMessageStore

INT-2182 polishing

INT-2182 polishing

INT-2182 polishing

INT-2182 polishing

INT-2182 polishing

INT-2182 polishing based on PR comments
2011-10-25 12:50:17 -04:00
Oleg Zhurakousky
281bfe8313 INT-2192 upgraded Redis module to spring-redis-1.0.0.RC1 2011-10-19 21:24:38 -04:00
Mark Fisher
ad0ccf5dff Update version to 2.1.0.BUILD-SNAPSHOT 2011-10-12 15:47:10 -04:00
Mark Fisher
b0793cb3bd Release version 2.1.0.M2 2011-10-12 15:34:49 -04:00
Mark Fisher
598a1afe79 versionless schemas for mongo and redis modules 2011-10-10 13:34:39 -04:00
Oleg Zhurakousky
946b9e2b82 INT-2152
parent issue for INT-2134, INT-2135, INT-2142, INT-2155, INT-2158
2011-10-07 12:48:20 -04:00
Gunnar Hillert
b01f987882 INT-2123 - Cleaned up dependencies
2 modules still had Spring 3.1 transitive dependencies:

* Spring Integration Redis
* Spring Integration Gemfire

1 module was lacking a Jackson dependency:

* Spring Integration AMQP
2011-09-13 11:55:37 -04:00
Mark Fisher
797b4f39f0 Update version to 2.1.0.BUILD-SNAPSHOT 2011-09-02 18:13:36 -04:00
Mark Fisher
1c49e222db Release version 2.1.0.M1 2011-09-02 18:04:49 -04:00
Mark Fisher
8dd16104d5 updated template.mf files 2011-09-02 17:23:49 -04:00
Mark Fisher
9a1f72b95a INT-2099 upgraded to Spring 3.0.6.RELEASE 2011-08-31 16:43:26 -04:00
Mark Fisher
7c5603fe83 INT-2092 update schema imports to use 2.1 version 2011-08-31 05:26:02 -04:00
Oleg Zhurakousky
bffd40eaf4 INT-2030: RedisMessageStore
refactored RedisMessageStore to use SimpleMessageGroup. Deleted RedisMessageGroup
  polished RedisMessageStore, made it more inline with JdbcMessageStore, added additional tests
  more polishing on RedisMessageStore, added more tests
  removed test that was no longer valid. Downgraded spring-data-redis dependency to M4
  changed UUID serializer to be StringRedisSerializer instead of custom class which essentially did the same thing
  polished code based on the review comments. Rename onX methods to doX, removed this.hasKey in favor of this.redisTemplate.hasKey
  polishing
  removed afterPropertiesSet() calls in test
2011-08-27 10:21:06 -04:00
Mark Fisher
189d047514 INT-2078 valid repositories IDs for Maven 3.0 2011-08-24 20:06:46 -04:00
Mark Fisher
a946f9960a updated POMs with Spring 3.0.5.RELEASE 2011-08-19 16:17:13 -04:00
Oleg Zhurakousky
699afbe7a1 INT-2030 polished RedisMessageGroup
1. simplified size() method to simply return the sum of sizes from marked and unmarked
2. removed System,out.println
3. added more assertions to tests
4. cosmetic changes
2011-08-11 17:36:01 -04:00
Mark Fisher
da2f275074 INT-2046 added @ManagedAttribute to MessageStores
Added to the getMessageCount() in GemfireMessageStore, MongoDbMessageStore, and RedisMessageStore.
2011-08-11 13:59:12 -04:00
Oleg Zhurakousky
521a602dad INT-2040 changed signature of MessageStore.getMessageCount() to return long. Changed affected implementations 2011-08-11 13:07:41 -04:00
Oleg Zhurakousky
94dea0855d INT-2030 finished with initial implementation fo Redis-based MessageGroupStore 2011-08-11 09:53:44 -04:00
Oleg Zhurakousky
28bcb4bfcf INT-2030 finished implementing all methods for Redis-based MessageGroupStore 2011-08-11 09:33:36 -04:00
Oleg Zhurakousky
c6e90e5a0f INT-2030 added support for marking individual messages in the group, polishing of existing code, added tests 2011-08-10 15:16:36 -04:00
Oleg Zhurakousky
f1e2434398 INT-2030 Injected RedisMessageStore into RedisMessageGroup to benefit from code reuse when adding/removing Messages from the group 2011-08-10 13:25:04 -04:00