Commit Graph

57 Commits

Author SHA1 Message Date
Oleg Zhurakousky
108baedd53 INT-2737 RedisMessageStore Fix
Fix RedisMessageStore to ensure that it
strips prefix from keys wheh they are returned
via iterator().

INT-2737 polishing

INT-2737 polishing
2012-09-06 16:00:37 -04:00
Oleg Zhurakousky
3e6eb40b6d INT-2733/4/6 Configure Redis Serializers
Add support for serializers to the RedisStore Inbound adapters.

Fix the serializer support for RedisStore outbound adapters
to ensure that serializers cannot be set if adapter is
bootstrapped with a RedisTemplate.

Add support for serializers to Redis Inbound/Outbound adapters.
NOTE: unlike the RedisStore adapters Redis in/out adapters only
use one serializer, so the name of the attribute
is 'serializer' and, on the Redis Outbound adapter,
it corresponds to the RedisTemplate.valueSerializer.

INT-2733/4/6

Fix RedisCollectionPopulatingMessageHandler to
ensure that the checks for setting serializers also exist
at the class level in case an instance is created outside
of the namespace parser's control.

INT-2733/4/6 polishing

INT-2733/4/6 polishing

INT-2733/4/6 polishing

INT-2733/4/6 Polishing
2012-09-06 13:17:28 -04:00
Oleg Zhurakousky
94cc5a73e2 INT-2727 PseudoTX Refactoring
Remove the need for pseudo-transactional element

INT-2727 PseudoTX
Add PseudoTransactionalTransactionManager

INT-2727
addressed PR comments
cherry picked previous code for mail module to eliminate breaking change

INT-2727
initial refactoring pseudo-tx support to use common configuration

INT-2727
finalizing pseudo-tx synchronization support

INT-2727 polishing

INT-2727 polishing based on PR comments

INT-2727 addressed PR comments

INT-2727 polishing

INT-2727 Remove PseudoTransactionalMessageSource

Instead of getResource, bind the resource holder before
receive() and then add attributes to the holder.

INT-2727 polishing

INT-2727 Polishing

Remove bind of #resource; add beforeCommit() test;
add TransactionTemplate tests.
2012-09-05 16:55:34 -04:00
Oleg Zhurakousky
988f925368 INT-2729 Redis Outbound Adapter
exposed setters for RedisSerializers, modified namespace, added tests

  added missing test file

  polished log messages

  polishing and whitespace
2012-08-31 17:47:54 -04:00
Mark Fisher
bcdc0c15aa typo 2012-08-31 09:54:10 -04:00
Gary Russell
92959b3e06 INT-2716 Fix Javadoc Warnings 2012-08-29 14:07:17 -04:00
Gunnar Hillert
dad4eac9ac INT-2710 - Remove hard-coded schema references
For reference see: https://jira.springsource.org/browse/INT-2710
2012-08-28 17:08:43 -04:00
Oleg Zhurakousky
e2039789c0 INT-2637 Add Redis Store Outbound Adapters
INT-2637 added initial support for Redis store outbound adapters

INT-2637 polishing, squashing and rebasing with master

INT-2637
Rename parsePayload to storePayloadAsSingleValue and modify its schema counterpart,
Address other PR comments

INT-2637
Modify the parse-payload attribute to extract-payload-elements with default value 'true', update schema and tests

INT-2637 polish

INT-2637 Polishing

Tidy up Javadocs, Schema.

Add map-key-expression for MAP and PROPERTIES CollectionType

INT-2637 Polishing
2012-08-15 14:48:13 -04:00
Oleg Zhurakousky
bfb5cbdb2a INT-2638 added support for Redis inbound channel adapters
Currenly there is support for:
- list-inbound-channel-adapter - http://redis.io/commands#list
- zset-inbound-channel-adapter - http://redis.io/commands#sorted_set

INT-2638 polishing

INT-2638 polished schema docs

INT-2638 polishing

INT-2638 polishing

INT-2638 refactored Redis collection inbound adapters to use RedisStore (view)

INT-2638 polishing, exposed redis-template via the namespace

INT-2638 polished based on PR comments

INT-2638 polishing

INT-2638 Polishing
2012-08-10 16:26:24 -04:00
Gary Russell
2ecb14de2a INT-2285 Implement max-subscribers on Channels
Add a subscriber limit on both unicast and publish-subscribe
channels. This permits detection of inadvertent channel wiring
during context initialization.

Also add a mechanism to globally set these defaults.

Two properties are added to ChannelInitializer. If the
'channelInitializer' bean is declared before a channel, and
these properties are set, it will globally override the
default (Integer.MAX_VALUE) for these properties.

For example:

    <bean id="channelInitializer" class="org.springframework.integration.config.xml.ChannelInitializer">
        <property name="autoCreate" value="true" />
        <property name="defaultMaxUnicastSubscribers" value="1" />
        <property name="defaultMaxMulticastSubscribers" value="2" />
    </bean>

will make the default max-subscribers 1 and 2 for <channel/> and
<publish-subscribe/> channels respectively.

Also applies to module channels (jms, amqp, redis).
2012-07-16 14:12:27 -04:00
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
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
Oleg Zhurakousky
c825689d60 INT-2338
added MessageHistory tests to all implementations of MessageStore
2011-12-22 21:23:49 -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
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
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
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
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
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
Oleg Zhurakousky
5388149b3a INT-2030 added support for getOne() and markAll() to Redis MessageGroupStore 2011-08-10 13:14:50 -04:00
Oleg Zhurakousky
665e76e50a INT-2030 added initial support for Redis MessageGroupStore 2011-08-10 12:39:45 -04:00
Oleg Zhurakousky
09d4707104 INT-2029 added support for dealing with Non Serializable message data. Added tests for non-String Messages 2011-08-09 11:58:59 -04:00
Oleg Zhurakousky
655b9c6f54 INT-2029 finished with initial implementation of RedisMessageStore. 2011-08-09 11:20:09 -04:00
Oleg Zhurakousky
1b0a2e85c3 INT-2029 added initial implementation of RedisMessageStore. Upgraded Jackson to version 1.8.3 which is used by spring-data-redis. Regenerated POM files 2011-08-09 09:34:59 -04:00
Oleg Zhurakousky
935cd01d07 INT-1512 changed the type of ID attribute to be xsd:string in all related 2.1 schema files 2011-08-08 23:34:12 -04:00
Mark Fisher
c9b8ff0b9f INT-2004 updated Redis test config files for the 2.1 schema version (the 2.0 schema version for redis no longer exists) 2011-08-05 13:45:40 -04:00
Mark Fisher
3e71b5a83b INT-2004 added 2.1 versions of all XML schemas and adjusted spring.schemas files accordingly 2011-08-05 11:07:20 -04:00
Oleg Zhurakousky
ad10c92bd5 polishing Redis tests 2011-08-02 08:52:50 -04:00
Oleg Zhurakousky
563d1db0f1 polishing broken test trying to determine why it fails in CI 2011-08-02 08:10:27 -04:00
Oleg Zhurakousky
fec5736675 INT-2024 polishing test, added timeout between send and receive 2011-08-01 09:42:09 -04:00
Oleg Zhurakousky
b26ad561ab INT-2024 polishing test, made redis channel unique for this test 2011-08-01 09:33:55 -04:00
Oleg Zhurakousky
53bfad7aa0 INT-2024 increased the timeout in RedisInboundChannelAdapterTests.testRedisInboundChannelAdapter 2011-08-01 09:01:06 -04:00