Improve performance.
For NIO sockets, a pair of PipedInput/OutputStreams are
used to transfer data from the reading thread to the
assembling thread.
The stream used the default buffer size (1024) which was
inefficient for large messages.
This change uses the underlying socket's receiveBufferSize
attribute to set the size of the piped stream, allowing
for more efficient data transfer.
Also adjusts the mocks in the deadlock detection test
to ensure the received data is larger than the pipe
buffer size.
* make 'Groovy Control Bus' similar to 'Expression Control Bus'
* add tests about `abstract` & `prototype` Beans
* fix about lost `groovy.lang.Script#println()` functionality in the `GroovyControlBusFactoryBean$ManagedBeansBinding`
* polishing `GroovyControlBusDelayerManagementTest` to show abilities & fixes with this issue
JIRA: https://jira.springsource.org/browse/INT-2631
INT-2631: polishing according to PR comments
Spring-expression 3.1 unconditionally converts all arguments for
method calls; MessageHeaders and MessageHistory do not have
no-arg constructors and the MapToMapConverter always attempts
conversion, in case any elements require conversion.
We are exploring a Spring 3.1 change but, in the meantime, we
have a detour in BeanFactoryTypeConverter in that we
can skip conversion of these types.
Previously, the timeouts in @Gateway method annotations always
overrode the default timeout if specified in, say, XML.
Now, the @Gateway timeouts are applied only if
* The equivalent default was not set
* The annotation value is something other than the default (Long.MIN_VALUE)
Note: This is a breaking change for one scenario:
<int:gateway ... default-reply-timeout=1000 ... />
where the interface has a method annotated with @Gateway(replyTimeout=Long.MIN_VALUE)
In other words, when the user wants a default timeout on the gateway
but wants to override it for just the annotated method and happened to use
the new default value.
The @Gateway annotation does not allow us to detect whether its
attribute value came from the default or was explicitly set.
The work-around for this breaking change is to use a different negative
number to configure an infinite timeout:
@Gateway(replyTimeout=-1)
* 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
* 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.
* 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
* add delegation to `BeanDefinitionReaderUtils.generateBeanName(definition, parserContext.getRegistry(), parserContext.isNested())`
in the `AbstractBeanDefinitionParser#resolveId()` implementations when it is necessary.
* remove redundant `shouldGenerateId()` & `shouldGenerateIdAsFallback()` when they don't make sense.
* additional simple polishing in the affected classes.
* remove TODO & forced 'id' attribute from JpaOutboundGatewayTests-context.xml to check that this solution works as was booked.
JIRA: https://jira.springsource.org/browse/INT-2607
* 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
INT-1141 polished code
INT-1141 added tests
INT-1141 improved how iterator is obtaind from OrderAwareLikedHashSet
INT-1141 polishing
INT-1141 stashed commit with List-based collection and performance tests
INT-1141 improved OrderedAwareLinkedHashSet
INT-1141 polishing
INT-1141, INT-2627 improved LoadBalancingStrategy and
RoundRobinLoadBalancingStrategy to obtain handler's iterator faster
INT-1141 improved getHandlerIterator method to ensure that it only executes reordering logic if there are more then one handler
INT-1141 simplified OrderedAwareLinkedHashSet to not to extend from LinkedHashSet
INT-1141
changed OrderedAwareLinkedHashSet to OrderedAwareCopyOnWriteArraySetTests, imporoved array creation in RoundRobinLoadBalancingStrategy
INT-1141 polished failing tests and RoundRobinLoadBalancingStrategy. Removed 'transient' from OrderedAwareCopyOnWriteArraySet
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
* polishing TCP test to use SmartLifecycle from 'chain'
* polishing XSD to exclude using 'poller' element inside 'nested-chain'
INT-2605: eliminate breaking change in the XSD
The Factory Bean already supported the attributes but
the namespace did not.
Also, the priority was fixed (if set via the factory bean).
Add QOS attributes to schema/parser; add use of
DynamicJmsTemplateProperties to allow override of configured
priority with the priority header (in the same way as the
outbound endpoints).