JIRA: https://jira.springsource.org/browse/INT-3233 With Windows 7 and Java 7/8 closing a server channel does not close the underlying socket. Closing the Selector does close the socket. It is not clear why this is needed, given that a selector can be used for multiple sockets. However, we only use the server side selector for a single server socket so there is no detriment in closing it. Also close the selector on the client side (even though it is used for multiple sockets, because we are stopping the factory anyway and all sockets will be closed). However, closing the selector opens us up to 'ClosedSelectorException's in several places. Add catch blocks to deal with this exception, and only log an error if the factory is active. While debugging this issue, I found that a number of (older) tests left threads running, sockets open etc. INT-3233 Polishing - PR Comments
Spring Integration
Checking out and Building
To check out the project and build from source, do the following:
git clone git://github.com/spring-projects/spring-integration.git
cd spring-integration
./gradlew build
If you encounter out of memory errors during the build, increase available heap and permgen for Gradle:
GRADLE_OPTS='-XX:MaxPermSize=1024m -Xmx1024m'
To build and install jars into your local Maven cache:
./gradlew install
To build api Javadoc (results will be in build/api):
./gradlew api
To build reference documentation (results will be in build/reference):
./gradlew reference
To build complete distribution including -dist, -docs, and -schema zip files (results will be in build/distributions)
./gradlew dist
Using Eclipse
To generate Eclipse metadata (.classpath and .project files), do the following:
./gradlew eclipse
Once complete, you may then import the projects into Eclipse as usual:
File -> Import -> Existing projects into workspace
Browse to the 'spring-integration' root directory. All projects should import free of errors.
Using IntelliJ IDEA
To generate IDEA metadata (.iml and .ipr files), do the following:
./gradlew idea
Resources
For more information, please visit the Spring Integration website at: http://www.springsource.org/spring-integration