Expire empty groups.
Due to indentation changes, the code changes look more extensive
than they are. In effect the if (group.size() > 0) test is moved
to a narrower scope and the remove(group) is now performed if the
group is empty.
Document expire-groups-upon-completion.
INT-2832 Doc Polishing
PR Review + punctuation.
INT-2833 Add Delay For Expiring Empty Groups
minimumTimeoutForEmptyGroups
When the expected-response-type was Serializable,
no Accept: header was added.
The SerializingHttpMessageConverter overrides
canRead() from the superclass.
The superclass method allows null in the mediaType
parameter to return true. RestTemplate.AcceptHeaderRequestCallback
calls canRead() with null in the mediaType, preventing
the Accept header from being completed.
Remove the overridden method.
INT-2837 Disable Java Serialization over Http
Previously, Java serialization was enabled by default by
adding the SerializingHttpMessageConverter to the converter
lists (inbound and outbound endpoints). However, there was
a problem in that the Accept header was not set properly on
outbound requests.
Correcting the header could cause other side effects, such as
existing JSON applications using Java serialization instead.
It was felt that it would be safest to disable Java serialization
by default, while retaining the ability to use Java serialization
by explicitly configuring the message converter.
Update tests to deal with the fact the converter is not
configured by default.
INT-2837 Fix Schema Version in Test
Inadvertently added a spring 3.1 schema version.
INT-2799 Use StringRedisTemplate by default on both inbound
and outbound store adapters.
Use a RedisTemplate with String key serializers and JDK
value serializers on the outbound store adapter if
'extract-payload-elements' is false.
INT-2811 Remove the ability to configure serializers on the adapters.
Use an external RedisTemplate for customized serialization
strategies.
INT-2811 Polishing (Review)
Polishing and updated Reference Doc.
polishing
using setters instead of ctor args for key or keyExpression
INT-2811 Polishing
Improve message when handler not initialized.
Add test for storing a simple value in a map.
Add note about content-type for the <object-to-json-transformer/>
and the caveat for when using AMQP adapters.
INT-2797 Polishing
Add alternative solutions, including setting a defaultType on
an inbound JsonMessageConverter.
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.
Ensured that bindings of the resource only happen if TransactionSynchronizationFactory is not null
Add documentation describing the expectation for the unbinding of the resource.
INT-2777 Polishing
Don't set up holder if it's not used.
Doc fixes.
The ExpressionEvaluatingMessageHandlerAdvice now sends an
AdviceMessage which has a payload of the original message, and
a property 'inputMessage' referencing the message that was
sent to the advised handler.
INT-2763 Expression Advice Reference Doc Update
Update to reflect the new behavior.
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.
Previously, only http: or https: URI schemes were supported
by the uri attribute. To use other schemes (such as jms:),
you had to provide a DestinationProvider.
Add support for schemes other than http and https by
creating a DestinationProvider internally when such a
URI is detected.
Note: <uri-variable/>s are NOT supported except when
a URI with an http(s) scheme is provided. An exception
is thrown if variables are provided with an incompatible
URI, or if a DestinationProvider is supplied.
This could break existing applications that provide an
external DestinationProvider and have configured
<uri-variable/>s. Previously, these variables were
simply ignored.
* ban to use 'channel' and 'request-channel' attributes for 'outbound-channel-adapters' and 'outbound-gateways' when they are declared inside the `<chain>`
* fix usage of `<request-handler-advice-chain>` for components when they are declared inside the `<chain>`
* ban to use `<request-handler-advice-chain>` for 'outbound-channel-adapters' when they are declared inside the `<chain>` don't implement `AbstractReplyProducingMessageHandler`
* refactor `IntegrationNamespaceUtils` to use `BeanDefinition` instead of `BeanDefinitionBuilder` for 'advice-chain' parsing
* tests for new logic for 'channel' and 'request-channel' attributes within `<chain>`
* tests for new logic for `<request-handler-advice-chain>` within `<chain>`
* fix failed test on slow machine
* fix `SysLogTransformer` tests
For reference:
https://jira.springsource.org/browse/INT-2718https://jira.springsource.org/browse/INT-2721https://jira.springsource.org/browse/INT-2719
INT-2718 Polishing
Permit the specification of an ObjectName pattern in
NotificationListeningMessageProducer.
Permit a collection of ObjectNames (patterns).
INT-2487 Polishing
Use varargs and a SpEL Reference instead of 2 setters.
Log an error if no MBeans matching pattern(s).
INT-2487 Polishing: PR Review Comments
Add patterns to ERROR log when no MBean(s) found.
Add doc to schema and reference.
* describe delayer's `<transactional>` & `<advice-chain>` abilities
* polishing delayer's doc: it looks bad in the PDF
* fix typo for 'proxying'
JIRA: https://jira.springsource.org/browse/INT-2722
INT-2722: Polishing - PR comments
* Add beginShutdown() and endShutdown() to OrderlyShutdownCapable
* JMS/AMQP stop listener containers
* TCP (server side)
** after beginShutdown() disallow new connections, drop (log) new messages
** after endShutdown() close server socket
* HTTP (server side)
** after beginShutdown() disallow any new requests (503 Service Unavailable)
* Docbook updates
** What's new section
** Orderly Shutdown section.
* Fix docs don't mention the need to add **amqp_** prefix to headers in order to have *DefaultAmqpHeaderMapper* add it to the message
* List all available standard AMQP Headers from class *AmqpHeaders*
For reference see: https://jira.springsource.org/browse/INT-2454
* fix Missing documentation of "enableDaemonThread" property of the SFTP session factory
* Reference documentation clean-up
* Document all properties of the DefaultSftpSessionFactory
* Rework Http Inbound Gateway chapter, as it contains a link to a non-existing chapter
* Improve/rephrase/update chapter
* Add more relevant links to samples and external documentation
* <int-jmx:mbean-exporter...> doesn't exist in XSD v2.1 --> Should be **mbean-export**
* Convert tabs to spaces
* Fix code listings that go beyond margins
* Fixed several spelling errors
* Improve consistency
* Improve column layout of tables
For reference see: https://jira.springsource.org/browse/INT-2596
INT-2596 - PR Review
* Rephrased and clarified 3 paragraphs in the JMX chapter of the reference documentation
* In Chapter 7.1.3 Polling Consumer - The Java TX Configuration Example for Consumer is incorrect
* Add documentation for the adviceChain property
* Add references to the Advice Chain and Transaction Support Sections
* Fix Layout issues of the code listings
For reference: https://jira.springsource.org/browse/INT-2444
* Add documentation directory-expression
* Add documentation for auto-create-directory attribute
* Refactor File Adapter chapter slightly so that it flows better
For reference see: https://jira.springsource.org/browse/INT-2618
INT-2618 - Doc updated due to changes in INT-805
* rebased
* clarified the file section in the reference doc
Updated the copyright message to the text contained within the JIRA
issue.
Idiomatic docbook seems to reference each individual year w/ an
opening/closing <year/> tag, rather than listing the years as a range
as indicated in the JIRA issue. I took this approach.
Add capability to append to a file, if it already exists, to File Outbound Channel Adapter.
The new attribute is 'append' and is mutually exclusive with 'temporary-file-suffix' since
when appending to a file we can no longer write to a temporary file and then rename it.
INT-2470 addressed PR comments
INT-2470 PR Comments
INT-2470 polishing
changed logic behind File copy when one file needs to be appended into another
INT-2470 added WhileLockedProcessor
INT-2470 polishing
Initial commit.
Tested with POP3 and IMAP (James) with Sample app.
Essentially moved all the flagging and deleting code
from receive() to closeContextAfterSuccess().
For non-transactional cases, this new method is
called immediately after receiving the message(s),
essentially working as before.
When run from a <transactional/> poller it is
called using TransactionSynchronization after
the transaction commits.
This behavior can be changed by setting
'symchronized="false"' on the poller, which
removes the synchronization and the update
is called immediately after the receive().
Polishing
PR Comments
Update Reference
Change the default expected response type to ResponseEntity
Add support for expected-response-type-expression attribute
to accept SpEL to determine expected response type.
INT-1760, INT-1759 add documentation.
INT-1760, INT-1759 polished javadocs and schema doc
INT-1760, INT-1759 more polishing
INT-1760, INT-1759 polished documentation based on PR
INT-1760 Polishing
Fix Chain test.
Implemented a ConnectionFactory that wraps a list
of connection factories, used to fail over if
a connection fails.
INT-2459 Polishing
Rebase; fix test; move boolean resets to finally block
in server factories.
INT-2459 Polishing
PR Review
Fix a test that could block indefinitely when error
in code under test.