Commit Graph

247 Commits

Author SHA1 Message Date
Gary Russell
e6bac96217 INT-2540 AbstractJmsChannel wasn't Marked Abstract
Class should have been abstract. In any case,
it could not be used in any meaningful way
as a concrete class so changing it would
not represent a breaking change.
2012-06-07 12:51:53 -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
0a12a496cc INT-2485 Orderly Shutdown
Initial commit - @ManagedOperation on IMBE

- can be invoked via JMX, <control-bus/>, or getting a reference to
the IMBE from the application context.

INT-2485 Updates After Review Comments (JIRA)

* Shutdown Schedulers first, and wait for them
* Add a force parameter, which overrides thread pool shutdown options
* Shutdown Sources/Channels after all thread pools have stopped
* Mark other components as OrderlyShutdownCapable (e.g. JMS/AMQP Listener containers) and shut them down first
* Wait for remaining time to allow for quiescence

Also
* remove TimeUnit parameter (not JMX-friendly); time limit is now always milliseconds
* If thread pools don't stop in time limit, force them down.

INT-2485 Handle Self-Destruction

Add shutdown-executor to IMBE.

When the shutdown was called on a Spring-Managed thread, the shutdown
was not clean because we timed out waiting for the current thread to
terminate. After that, we force terminated other components.

Now, by providing a dedicated Executor for the shutdown process, it
is used for the shutdown instead of the current thread. This Executor
is *not* shutdown.

It is not necessary to provide an Executor if the stopActiveComponents()
method is called on some other thread that is not involved in the
shutdown.

Also adds executor name to logs, when available.

INT-2485 Polishing

Fix MBean object name collision when running all tests.

INT-2485 Enable TCP Shutdown

Make TCP connection factories 'OrderlyShutdownCapable' so
they are stopped before schedulers/executors in order for
them to release any executor threads they are holding.

INT-2485 Polishing

Didn't need DirectFieldAccessor - scheduler and executor have
an accessor for the native ExecutorService.

Copyrights

INT-2485 Polishing

schemaLocation version.

INT-2485 PR Review Polishing
2012-05-10 08:10:00 -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
bd2fd0e1be INT-2471 Improve Run Time For JMS Tests
Mostly due to auto-started adapters in parser tests.

Reduced gradle run time from several minutes down to < 1 min.

INT-2471 Polishing

Remove sysout.
2012-03-24 16:27:41 -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
6f2dcab4b2 INT-2414 Error When container-class Supplied
JMS backed channels can have container-type and
container-class. Parser rejected container-class because
the schema has a default for container-type.

Both attributes are allowed; user must set container-type
appropriately (based on the superclass of the custom class)
when container-class is provided.
2012-01-24 12:33:51 -05:00
Gary Russell
0899768d1e INT-2406 Add JMSTimestamp Property To Headers
Inbound JMSTimestamp property is now mapped to header
jms_timestamp.
2012-01-23 10:22:30 -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
Chris Beams
f30da932e8 INT-2388 Update Gradle build
This is a significant update to the build system, including the changes
listed below. README.md has been updated with instructions on the most
important day-to-day commands.

 - Eliminate buildSrc submodule

   In favor of using the new bundlor and docbook-reference plugins. The
   net effect is a large reduction in number of lines of build code.
   Common docbook resources, stylesheets, etc are stored directly in the
   docbook plugin.

   This means that --recursive is no longer required when cloning and
   there will never be a need to use `git submodule` commands. README
   files have been updated to reflect.

   Use of the new bundlor plugin also means the removal of template.mf
   files from the source tree in favor of an inline approach. See
   build.gradle for details. Bundlor 'import templates' are built up
   programmatically and kept physically close to gradle dependency
   declarations, leading to more convenience when changing these values
   and hopefully fewer errors / version inconsistencies over time.

   Certain tests depended on the presence of template.mf files, all of
   which have recently been removed from the source tree in favor of the
   new bundlor plugin which allows for inlining bundlor configuration
   within the Gradle build script. These tests now create temp files
   using the java.io.File API instead.

 - Upgrade to Gradle 1.0-milestone-6

   The m6 release is significantly faster when resolving dependencies
   and has a number of valuable new features over the earlier m3
   version. Review the release notes for Gradle 1.0-milestone-6 online
   for full details.

 - Switch to repo.springsource.org repository

   Previously the project build declared as many repositories as
   necessary to resolve all project dependencies.

   Now depending on a single 'virtual repository' defined within the
   SpringSource Artifactory instance at http://repo.springsource.org.
   Currently, the virtual repository in use is 'libs-milestone', which
   allows for the resolution of all "milestone-or-better" versions of
   all S2 and third-party dependencies.

   Should snapshot dependencies become required, this value may be
   changed from 'libs-milestone' to 'libs-snapshot'. To build only
   against GA releases, change the value to 'libs-release'.

 - New build plan(s)

   Spring Integration build plans have been updated to use the
   Artifactory Bamboo plugin and publish to repo.springsource.org.
   Build plans have names like 2.1.x to reflect the version under
   development, not necessarily the name of the branch, as this may
   change over time and across major releases.

 - Improve release process

   As mentioned above, Spring Integration will now use the Artifactory
   Bamboo plugin to publish releases and also use Artifactory's support
   for pushing builds directly into Maven Central via oss.sonatype.org.

   Generate poms that contain all necessary fields for onboarding at
   Maven central (scm, developers, organization, licenses, etc).

   Generate -source and -javadoc poms to comply with Maven Central
   onboarding rules (and for general good practice anyway).

   Generation of PGP signatures, sha1 and md5 checksums are all handled
   automatically by Artifactory. These are also requirements for
   automated entry into Maven Central.

 - Remove source-level pom generation

   Automatic generation of Maven poms suitable for use in building
   Spring Integration is no longer supported. Generation and
   publication of poms for the purpose of dependency management remains
   supported.

   Sonar support has to date depended on these poms, but will be
   switched over to use the Gradle Sonar plugin shortly.

 - Eliminate docs subproject

   Move docs/src to the root of the project and eliminate docs as a
   formal subproject. This simplifies the build in a number of ways,
   including removing the need for distinguishing between 'subprojects'
   and 'javaprojects' as well as allowing users to build both 'api' and
   'reference' docs without qualifying with a ':docs' prefix.

   Also rename the src/info directory to src/dist to better reflect that
   these files are packaged with the distribution. For example, the
   readme.txt there is really the distribution readme, distinct from the
   README.md at the root of the project which is for building from source,
   etc.
2012-01-05 17:49:04 -05:00
Gary Russell
b59ee8e352 INT-2369 package-info IP
INT-2360 package-info Core

INT-2361 package-info AMQP

INT-2362 package-info Event

INT-2363 package-info Feed

INT-2364 package-info File

INT-2365 INT-2380 package-info (S)FTP

INT-2366 package-info GemFire

INT-2367 package-info Groovy

INT-2368 package-info Http

INT-2378 package-info Scripting

INT-2372 package-info JMS
2012-01-05 14:42:24 -05:00
Gary Russell
65fa5358e7 INT-2355 Update Mockito to 1.9.0 2012-01-04 12:05:48 -05:00
Mark Fisher
abe6220e02 Update version to 2.1.0.BUILD-SNAPSHOT 2011-12-23 12:15:13 -05:00
Mark Fisher
e67c115004 Release version 2.1.0.RC2 2011-12-23 12:00:52 -05:00
Gunnar Hillert
0c376dd694 INT-2339 - Make spring-tx an explicit dependency
for the Spring Integration MongoDb Module

Also addresses: https://jira.springsource.org/browse/INT-2340

For reference see: https://jira.springsource.org/browse/INT-2339
2011-12-23 10:39:23 -05:00
Mark Fisher
21c727b6fe INT-2329 upgrading to Spring 3.0.7 2011-12-22 15:27:53 -05:00
Oleg Zhurakousky
0137a3023f INT-2327-v2 polishing
fixed the initialization routine to perform only once
2011-12-21 12:50:15 -05:00
Oleg Zhurakousky
00448ebfcd INT-2327 added Null check to SubscribableJmsChannel
INT-2327 polishing

INT-2327 polishing
2011-12-21 10:59:09 -05:00
Mark Fisher
77abc55a1e INT-2322 2011-12-20 13:18:57 -05:00
Mark Fisher
95d6ef0f90 INT-1868 using generic JMS 1.1 API only 2011-12-09 15:25:51 -05:00
Mark Fisher
4417d5d8b0 Update version to 2.1.0.BUILD-SNAPSHOT 2011-11-23 17:33:09 -05:00
Mark Fisher
1001d74ba7 Release version 2.1.0.RC1 2011-11-23 17:20:56 -05:00
Oleg Zhurakousky
43f60dae08 INT-2238 interim commit
INT-2238 fixing warning comments

INT-2238 fixing warning comments

INT-2238 fixing warning comments
2011-11-22 21:10:32 -05:00
Mark Fisher
2bd870200d Update version to 2.1.0.BUILD-SNAPSHOT 2011-10-26 11:26:37 -05:00
Mark Fisher
4f12694d82 Release version 2.1.0.M3 2011-10-26 10:44:18 -05:00
Mark Fisher
ad0ccf5dff Update version to 2.1.0.BUILD-SNAPSHOT 2011-10-12 15:47:10 -04:00
Mark Fisher
b0793cb3bd Release version 2.1.0.M2 2011-10-12 15:34:49 -04:00
Mark Fisher
0a7426287f fallback if proxy does not support Queue* types 2011-10-10 16:39:11 -04:00
Mark Fisher
4a9d09dfed versionless schemas for jms module 2011-10-10 13:02:34 -04:00
Oleg Zhurakousky
46114ab4cb INT-2109 updated JMS schema documentation to document DMLC attributes 2011-09-13 16:30:46 -04:00
Gunnar Hillert
b01f987882 INT-2123 - Cleaned up dependencies
2 modules still had Spring 3.1 transitive dependencies:

* Spring Integration Redis
* Spring Integration Gemfire

1 module was lacking a Jackson dependency:

* Spring Integration AMQP
2011-09-13 11:55:37 -04:00
Mark Fisher
797b4f39f0 Update version to 2.1.0.BUILD-SNAPSHOT 2011-09-02 18:13:36 -04:00
Mark Fisher
1c49e222db Release version 2.1.0.M1 2011-09-02 18:04:49 -04:00
Mark Fisher
8dd16104d5 updated template.mf files 2011-09-02 17:23:49 -04:00
Mark Fisher
9a1f72b95a INT-2099 upgraded to Spring 3.0.6.RELEASE 2011-08-31 16:43:26 -04:00
Mark Fisher
9f59001230 removed deprecated trigger sub-elements non-core 2011-08-31 12:54:22 -04:00
Mark Fisher
cd9b78a020 INT-1943 re-updated 2.0 schema 2011-08-31 05:11:12 -04:00
Mark Fisher
229b6bfb9f maintaining reply-timeout for outbound-gateway
INT-1943: the underlying property is "sendTimeout", but the attribute exposed
  on the element will remain 'reply-timeout' since most outbound gateways have
  this terminology exposed - for sending of the reply to the reply-channel
2011-08-31 05:07:24 -04:00
Mark Fisher
f02cdd2a3c INT-1943 update the 2.0 schema 2011-08-30 22:58:22 -04:00
Mark Fisher
9dd7053112 fixed jms outbound-gateway timeout attributes 2011-08-30 22:31:20 -04:00
Mark Fisher
49ee745e6f request destination exprs for outbound-gateway 2011-08-30 19:21:37 -04:00
Mark Fisher
d3f5c90348 destination expr for outbound-channel-adapter 2011-08-30 17:59:05 -04:00
Mark Fisher
9b6d3cd838 properly support request and reply pubSubDomain 2011-08-29 17:40:50 -04:00
Mark Fisher
189d047514 INT-2078 valid repositories IDs for Maven 3.0 2011-08-24 20:06:46 -04:00
Mark Fisher
aa0e8a335f added support for durable subscription settings 2011-08-22 10:53:48 -04:00
Mark Fisher
a946f9960a updated POMs with Spring 3.0.5.RELEASE 2011-08-19 16:17:13 -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
Oleg Zhurakousky
74817b98fc INT-2036 added Spring 3.0.5 exclusions for spring-integration-ws and spring-integration-xml in build.gradle. Regenerated POMs 2011-08-08 16:15:52 -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
Mark Fisher
b727868306 INT-2018 added explicit spring-tx dependency in spring-amqp-integration and refined the exclusions 2011-08-05 08:38:54 -04:00