When the file name holds path traversal file names it gets
concatenated to the target extraction directory,
the final path ends up outside of the target folder.
Fixesspring-projects/spring-integration-extensions#177
* To avoid partial read, when other process may open the file and start
to write, it would be better to open SMB files in the `FILE_SHARE_READ`
mode.
This way only one process can write the file, when all of them can read
it
Fixes https://github.com/spring-projects/spring-integration-extensions/issues/183
* Replace `Thread.sleep(Long.MAX_VALUE);` in the `LeaderSelector` main
loop with the `heartBeatMillis` to `tryLock` against the Hazelcast
periodically
* Add `busyWaitMillis` timeout in case of lost leadership or exception
from the Hazelcast
* Resubmit `LeaderSelector` in case of any exception exception
* Upgrade to the Hazelcast-3.8.9 and SI-4.3.14
HazelcastMetadataStore improvements
- Adding ListenableMetadataStore capabilities
- Extra tests for listeners
Requested changes from review
* Make `HazelcastMetadataStore.MapListener` as static class
Fixesspring-projects/spring-integration-extensions#172
Since we can have an application based on the `HazelcastClient`, we don't need to require `Hazelcast.getAllHazelcastInstances()` be presented.
* Rework `HazelcastLocalInstanceRegistrar` to be able to accept external `HazelcastInstance` for `MultiMap` and `MembershipListener` registration
* If there is on local `Hazelcast.getAllHazelcastInstances()` just log a warn that we can't register `MembershipListener`
* Allow for `AbstractHazelcastMessageProducer` to accept events in the `CacheListeningPolicyType.SINGLE` mode when there is no local `Hazelcast.getAllHazelcastInstances()`
Fixes GH-173 (https://github.com/spring-projects/spring-integration-extensions/issues/173)
Currently when an error is thrown from the event publishing the role granting is broken and we just go to the role revoking.
* Since it's just an event publishing it shouldn't effect the original leader election.
* `try...catch` event publishing in the `LeaderInitiator` and `logger.warn` an `Exception`
https://build.spring.io/browse/INTEXT-SIH1-10
When `LeaderInitiator` yields its leadership there is a good chance that it will obtain it back, so there is no guaranty that it isn't leader after revoking
Fixes GH-164 (https://github.com/spring-projects/spring-integration-extensions/issues/164)
* Move `deleteFile` logic to the end of of `ZipTransformer#doZipTransform()`
* Add `deleteFile = true` for the `ZipTransformerTests`
* Add `<request-handler-advice-chain>` to the transformers XSD definitions
* Upgrade to Gradle 3.0
* Upgrade dependencies
Move delete logic before reply message creation
Fix `LeaderInitiator`
* Implement `SmartLifecycle` instead of just `Lifecycle`
* Add `Assert`s
* Rework logic from `IMap` for locks just into single `ILock`, since we require it only for the `role` as a key
* Fix `Future.cancel(true)` logic via rescheduling
See https://jira.spring.io/browse/INT-4058 and its commit comments
* Add more complex test-case to meet distributed requirements and verify several `yield()` cycles
JIRA: https://jira.spring.io/browse/INTEXT-158
* Provide the test cases to demonstrate the Spring Integration Hazelcast adapters usage from the JavaConfig
* Upgrade to Hazelcast-3.6, SI-4.2.4, Gradle-2.5
* Fix Hazelcast-3.6 compatibility
* Fix failing tests
* Upgrade to Gradle-2.5, SI-4.2.4
* Remove redundant dependencies
* Add `slf4j-log4j12` to avoid log noise during testing
* Add `settings.gradle` to allow Artifactory Release Management
* Move XSD stuff to the proper place - `org\springframework\integration\zip\config`
* Get rid of manual `enum` transformation in the `Parser`:
- we can't do that there because `property-placeholder` and SpEL are processed later
- no reason to do that at all - `enum`s are properly converted by the SF during bean population phase
* Fix `UnZipTransformer` to `delete()` file in the `finally` block after closing the `InputStream` on file
JIRA: https://jira.spring.io/browse/INTEXT-195
Upgrade to Smack 4.1
Rework logic to the `XMPPConnection` interface
Refactoring for the `XmppConnectionFactoryBean` to extract `serviceName` from the `user`.
Remove redundant dependencies
Add `smack-java7` dependency and some other polishing after testing
Polishing
JIRA: https://jira.spring.io/browse/INTEXT-167
Some refactorings are done.
Hazelcast Cluster Monitor Unit Test Refactorings are done.
Some minor bug fixes are done.
Redundant assert is removed.
HazelcastInstance lifecycle check is added
Migration Event UT Case is updated.
Code style polishing and upgrade to the `spring.io.plugin-0.4.0`