Clean up resources when deployer app is closed
This commit is contained in:
@@ -39,6 +39,7 @@ jobs:
|
|||||||
slack-failure: &slack-failure
|
slack-failure: &slack-failure
|
||||||
put: slack
|
put: slack
|
||||||
params:
|
params:
|
||||||
|
channel: spring-cloud-firehose
|
||||||
attachments:
|
attachments:
|
||||||
- color: danger
|
- color: danger
|
||||||
fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME <FAILURE>"
|
fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME <FAILURE>"
|
||||||
@@ -49,6 +50,7 @@ slack-failure: &slack-failure
|
|||||||
slack-success: &slack-success
|
slack-success: &slack-success
|
||||||
put: slack
|
put: slack
|
||||||
params:
|
params:
|
||||||
|
channel: spring-cloud-firehose
|
||||||
attachments:
|
attachments:
|
||||||
- color: good
|
- color: good
|
||||||
fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME <SUCCESS>"
|
fallback: "$BUILD_PIPELINE_NAME/$BUILD_JOB_NAME #$BUILD_NAME <SUCCESS>"
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ package org.springframework.cloud.function.deployer;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.HashSet;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.LinkedHashSet;
|
import java.util.LinkedHashSet;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -29,6 +30,7 @@ import java.util.function.Supplier;
|
|||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.DisposableBean;
|
||||||
import org.springframework.boot.loader.thin.ArchiveUtils;
|
import org.springframework.boot.loader.thin.ArchiveUtils;
|
||||||
import org.springframework.cloud.deployer.spi.app.AppDeployer;
|
import org.springframework.cloud.deployer.spi.app.AppDeployer;
|
||||||
import org.springframework.cloud.deployer.spi.core.AppDefinition;
|
import org.springframework.cloud.deployer.spi.core.AppDefinition;
|
||||||
@@ -42,7 +44,7 @@ import org.springframework.core.io.Resource;
|
|||||||
import org.springframework.util.MethodInvoker;
|
import org.springframework.util.MethodInvoker;
|
||||||
|
|
||||||
public class FunctionExtractingFunctionCatalog
|
public class FunctionExtractingFunctionCatalog
|
||||||
implements FunctionCatalog, FunctionInspector {
|
implements FunctionCatalog, FunctionInspector, DisposableBean {
|
||||||
|
|
||||||
private static Log logger = LogFactory
|
private static Log logger = LogFactory
|
||||||
.getLog(FunctionExtractingFunctionCatalog.class);
|
.getLog(FunctionExtractingFunctionCatalog.class);
|
||||||
@@ -63,6 +65,13 @@ public class FunctionExtractingFunctionCatalog
|
|||||||
deployer = new ThinJarAppDeployer(name, profiles);
|
deployer = new ThinJarAppDeployer(name, profiles);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void destroy() throws Exception {
|
||||||
|
for (String name : new HashSet<>(names.keySet())) {
|
||||||
|
undeploy(name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
@Override
|
@Override
|
||||||
public <T> Consumer<T> lookupConsumer(String name) {
|
public <T> Consumer<T> lookupConsumer(String name) {
|
||||||
|
|||||||
@@ -27,8 +27,8 @@ import org.junit.runners.Suite.SuiteClasses;
|
|||||||
* @author Dave Syer
|
* @author Dave Syer
|
||||||
*/
|
*/
|
||||||
@RunWith(Suite.class)
|
@RunWith(Suite.class)
|
||||||
@SuiteClasses({ FunctionAppDeployerTests.class,
|
@SuiteClasses({ FunctionExtractingFunctionCatalogIntegrationTests.class,
|
||||||
FunctionExtractingFunctionCatalogIntegrationTests.class })
|
FunctionExtractingFunctionCatalogTests.class })
|
||||||
@Ignore
|
@Ignore
|
||||||
public class AdhocTestSuite {
|
public class AdhocTestSuite {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user