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