In many cases IDEs import into test configs Namespace-resources
with hardcoded versions of Spring & Spring Integration XSDs.
This may produce build issues with different Spring versions.
It also causes an issue during the transition to a new Spring Integration version (e.g. 3.0).
* Add Gradle task 'checkTestConfigs' to check test configs for hardcoded resources' versions.
* Add to 'test' task dependency on new task 'checkTestConfigs'
* Fix hadrcoded versions in the test configs.
JIRA: https://jira.springsource.org/browse/INT-2845
OSGI version ranges were incorrect for oxm because it moved
to core. This precluded use with Spring 3.1 with OSGI.
Update oxm version range to match other Spring core modules.
Also update maximum for Spring-WS to < 3.0.0 and minumum to 2.0.0.
Also fix bundlor version ranges for new JPA module.
1.1.3.RELEASE includes enhanced JsonMessageConverter to
support applications using the ObjectToJsonTransformer.
avoid warning in AmqpOutboundGatewayParserTests
INT-2805 Update JavaMail to 1.4.5
There is a need to fetch the entire email message before the folder
is closed. Once the folder is closed, you cannot perform any
more operations on the message.
Prior to RC1, the message was copied, which forced an eager fetch.
Add code to copy the message.
Also, transaction synchronization operations need access to a folder
instance to perform operations, such as delete, on a message.
Add a wrapper to lazily create a folder instance in message.getFolder()
when needed.
Add documentation to explain that messages must be re-fetched before
performing transaction synchronization operations.
JavaMail 1.4.5 is now Open Source, which makes debugging much
easier.
While Spring Framework 3.1 is recommended for Spring
Integration 2.2, it continues to support Spring 3.0.
Change build.gradle to use 3.0.7 as the minimum instead
of 3.1.1.
INT-2683 Tests
Expanded JMS Gateway Tests
INT-2683 First commit
Listener Container Option for Replies
INT-2683 Remove no correlation-key Option
INT-2863 Support DestName and Temp Dest
INT-2683 Add back Support No CorrelationKey
INT-2683 Fix Tests
INT-2683 Polishing
Fallback if no correlationKey and fixed reply queue.
INT-2683 Polishing
Change from SMLC to DMLC
INT-2683 Polishing
Since we changed to DMLC, we can now remove the check for
SingleConnectionFactory.
INT-2683 <reply-listener/> Namespace Support
Add <reply-listener/> subelement to JMS Outbound Gateway.
Added pseudo-tx support for Mail inbound adapters
For polling adapters no changes have been made other then returning a javax.mail.Message instead of its copy so
post-tx dispositions could be performed on it.
For Imap IDLE adapter changes are simiar to the once present in SPCA where TX synchronization logic was added to ImapIdleChannelAdapter
Couple of things to note:
First IDLE receives an array of messages while Polling task receives one message which means i need to sendMessage in the Polling task in the separate thread, so for maintaining single thread semantics we have now it uses single thread executor to send Messages
Renamed MSRH to TransactionalResourceHolder since we no longer use 'source' anywhere and in the case of IDLE there is no MessageSource. Its is truly a holder of attributes we want to make available for use (e.g., SpEL)
INT-1819 Polishing
- Change TransactionalResourceHolder to IntegrationResourceHolder
- Make messageSource available as an attribute
- Allow configuration of Executor for ImapIdle adapter
- Add parser test for TX ImapIdle adapter
- Fix bundlor config for mail
- Remove top level <transactional/> element that was added to core
- Restore 'legacy' mail attributes in TX, and add schema doc
INT-1819 Mail TX Reference Docs
Add reference documentation for mail transaction support.
INT-1819 Remove 'public abstract' from interface
Modifiers are not needed on an interface.
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.
Adjusted DefaultAmqpHeaderMapper to recognize and convert Content-Type
to String if the incoming Content-Type headers is of type
org.springframework.http.MediaType.
INT-2713 polishing
Add general capability to advise just the handleRequestMessage
part of an AbstractReplyProducingMessageHandler.
This is to advise just the immediate operation, and not the
entire downstream flow.
Uses include:
* outbound gateway post processing
* adding retry behavior using spring-retry
* adding circuit breaker functionality
Initial commit for review.
Also need to advise simple message handlers (such as file
etc) to allow them to post-process file operations
with payload.delete(), payload.renameTo(...) etc.
INT-2250 Add Circuit Breaker Advice
INT-343 Add Retry Advice
Stateless and Stateful retry using spring-retry. Stateless
means the RetryTemplate performs the retries internally.
Stateful means the exception is thrown (e.g. to JMS container)
and the retry state is maintained by spring-retry.
INT-2215, INT-343, INT-2250 Refactoring
Factor out common abstract Advice class.
INT-2214 Catch Evaluation Expression Exceptions
If an onSuccess expression evaluation fails, add an
option so the user can decide whether such an exception is
caught, or propagated to the caller.
INT-2214 etc PR Review Polishing
INT-2214 etc Namespace Core, File, FTP
Add <request-handler-advice-chain/> to outbound endpoints.
INT-2214 etc. More Namespace Support
amqp, event, gemfire, groovy, http, ip, jdbc, jms, jmx, jpa, mail, rmi, sftp, twitter, ws, xmpp
INT-2214 etc Polishing
PR Review
INT-2214 etc Polishing
Don't catch Throwable.
Move Advice classes to handler.advice package.
* Ensure that no deprecation warnings occur
* Spring Integration builds with all tests successfully for Spring 3.1.2.RELEASE and 3.0.7.RELEASE (Except Spring Integration HTTP)
For reference see: https://jira.springsource.org/browse/INT-2689
INT-2694 - Fix Http Test Failures with Spring 3.0
As part of INT-2689, fix Http Test Failures in the Spring Integration Http Module when using Spring 3.0.7.RELEASE
For reference see: https://jira.springsource.org/browse/INT-2694
Pseudo transaction support means some projects now
need a transitive dependency to spring-tx. Previously
the project was marked as optional in the POM.
* Add *disposition-expression* to the inbound file adapter. This allows for operations such as *payload.delete()*, *payload.renameTo()* after the file is processed.
* The result of executing the expression (if any) is sent to the disposition-result-channel.
Move SocketTestUtils.findAvailableServerSocket to Test Module
For reference see: https://jira.springsource.org/browse/INT-2564
* Move SocketTestUtils.findAvailableServerSocket to Spring Integration Test Module
* Fix tests
Upgrade spring-integration-ws to use Spring WS 2.1.0;
fix the deprecation warning in AbstractWebServiceOutboundGateway.encodeUri(..) method
INT-2593 polishing,
put deprecated code back in to ensure SPR 3.0 compatibility
* Add support for Stored Procedure/Function Names via Message Header
* Add support for Stored Procedure/Function Names via "stored-procedure-expression" parameter
* Add support for cacheable *SimpleJdbcCallOperation* instances
* Add Guava dependency for Cache Support
* Convert white-spaces to tabs (where occurring)
* Convert line-delimiters to Linux format (where occurring)
For reference see: https://jira.springsource.org/browse/INT-2271
INT-2271 - Expose Cache Stats via JMX
This includes the implementation of INT-2584 - Instantiate the StoredProcExecutor as a Spring Managed Bean for each Stored Procedure Component
INT-2271 Made DataSource final in StoredProcExecutor
INT-2271 - Code Review Changes
INT-2271 Code Review Fixes
* remove attribute *allowDynamicStoredProcedureNames*
* remove JDBC Headers
INT-2271 Polishing
Use LiteralExpression when a simple stored procedure
name is supplied.
Introduce VariableResolver, BeanFilter, FilteredBeanFactoryDecorator, GroovyVariableResolverBinding, refactoring ManagedBeansScriptVariableGenerator for usage GroovyVariableResolverBinding.
GroovyVariableResolverBindingTests.
additional tests for GroovyControlBus.
add 'spring-web' dependency for tests about 'request' custom scope.
Manual: change description about 'Groovy Control Bus' scripts limitation'.
INT-2567: Improve & refacror Groovy Control Bus
Introduce separate BindingOverwriteGroovyObjectCustomizerDecorator
Internal GroovyControlBusFactoryBean$ManagedBeansBinding with delegation to provided BeanFactory
Inline ScriptVariableGenerator implementation just for Message 'headers' variable
Tests for new GroovyScriptPayloadMessageProcessor logic about binding
Integration tests for managed beans in the custom scope
Reference Manual: polishing description about Control Bus' behavior
INT-2567 polishing added @link to javadocs
Changes to Connection Factory interface (stub).
INT-2394 Polishing
INT-2394 Map Gateway Correlation Header
Map spring_reply_correlation if present.
INT-2394 Map ReplyTo Stack
Enable the use outbound-gateway in a destination application
to which we sent a message using another outbound gateway.
The RabbitTemplate now pushed exising correlation data onto
a stacked header attribute.
INT-2509 Publisher Confirms and Returns
Add Publisher Confirm support to the outbound channel
adapter.
Add returns support to outbound channel adapter and gateway.
INT-2509 Polishing
PR Review comments.
Docs.
Fix chain test after rebase.
For reference see: https://jira.springsource.org/browse/INT-1983
* INT-2435 - Add the ability to automatically resolve the entity-class from the payload as fallback
* Add <transactional/> support for **Jpa Outbound Gateway** and **Jpa Outbound Channel Adapter**
* Merging Documentation from: https://github.com/amolnayak311/spring-integration/blob/INT-2440/src/reference/docbook/jpa.xml
* Provide JPA Tests against Hibernate, EclipseLink and OpenJPA
* Improve Documentation
* Remove trailing white-space, convert white-space to tabs, remove @transactional from DefaultJpaOperations
* INT-2440 Adding the documentation for the JPA adapters
INT-1983 - Code Review based Fixes
* Fix indentation in XML Schema
* Remove *transactional* sub-element definition from JPA Inbound Channel Adapter in XML Schema
* Fix enumeration *gatewayType*
INT-1983 - Based on Code Review
* Remove '/** {@inheritDoc} */' from DefaultJpaOperations
* Remove JavaDoc parameters that don't contains details
* Cleanup *JpaUtils*
* Remove "transaction-manager-ref" from *spring-integration-jpa-2.2.xsd*
* Cleanup *spring-integration-jpa-2.2.xsd*
* Provide documentation to *EclipseLinkJpaOperationsTests* on how to run tests in IDE
* Provide documentation to *OpenJpaJpaOperationsTests* on how to run tests in IDE
* Refactor JPA Reference Doc Chapter (work in progress)
INT-1983 - Code Review: provide better JavaDoc
* Update **build.gradle** and change the *springVersion* property to **3.1.1.RELEASE**
* Due to change in Spring 3.1, add missing method **getRawStatusCode()** in *org.springframework.integration.http.outbound.CookieTests*
* Upgrade Gradle Wrapper
* Remove deprecation warnings
* Fix Sonar Build
Depends on: https://github.com/SpringSource/gradle-plugins/pull/1
INT-2512 - Improve declaration of optional and provided dependencies
INT-2512 - Reverted Bundlor Plugin Version Number.
With that change the Spring Integration specific part of the code changes is decoupled from the Bundlor pull request:
https://github.com/SpringSource/gradle-plugins/pull/1
.
Once the Bundlor plugin is updated and released, I can bump the version number (Only then, though all deprecation warnings will be gone).
INT-2512 - Code Review
**Do we really want to add mavenlocal() permanently? I usually add it locally when I need it**
Sorry my bad. Forgot to remove my local addition.
**snapshot?**
The Bundlor plugin relies on Snapshot releases for the Gradle plugin (I reverted the DocBook version).
**mixed leading tabs and spaces**
Removed every single leading space. Unfortunately, there were lots of spaces. Took a while. I hope this looks much better.
**Why are we removing this? Don't we need a local install any more?**
The Maven install logic is now handled by the customized/extended "maven" plugin in **publish-maven.gradle**. This is how Chris has set it up for the Spring Framework.
INT-2512 - Remove mavenLocal()
Change 'build/jacoco.exec' to '${buildDir.name}/jacoco.exec'.
Refactored MongoDbMessageStore to ensure that the Message metadata is persisted consistently using already provided converters. Major refactoring went into MessageWrapper and MongoDbMessageStore.write method which was greatly simplified based on the fact that MessageWrapper now represents the structure that needs to be persisted
INT-2479
fixed default converters to make sure that UUID is stored in Mongo with type information, so the actuall UUID type could be restored