Project: springxd
Issue XD-238: Deploying Custom Code
When a module is deployed, it should run in its own isolated classpath. The current code has all dependencies in a single classpath, taken from the lib directory at startup. This has a number of drawbacks, one of the most important is the batch jobs can not be contributed to the system at runtime. The work for this epic is decoupled from any module deployment story. The assumption is that there will be a directory layout as shown below. Current layout ./modules/. |-- common |-- job |-- processor |-- sink |-- source |-- trigger And inside source |-- source | |-- file.xml | |-- gemfire-cq.xml | |-- gemfire.xml | |-- http.xml | |-- jms.xml | |-- mqtt.xml | |-- rabbit.xml | |-- syslog-tcp.xml | |-- syslog-udp.xml | |-- tail.xml | |-- tap.xml | |-- tcp.xml | |-- time.xml | |-- twittersearch.xml | |-- twitterstream.xml Using an example of the source directory from the current layout.e.g ./modules/source/file, the new layout would be ./modules/source/file/lib/spring-integration-file.jar ./modules/source/file/config/file.xml We should support both the new and old layout styles simultaneously. There what is under 'file' directory is the 'package' No .zip, war, is required.
Story points: 21