如果未设置活动配置文件则退出

时间:2017-12-04 15:23:35

标签: java spring spring-boot

如果没有活动的个人资料,如何在执行任何操作(尤其是bean创建)之前退出应用程序?

我用这样的配置完成了这个:

@Profile("default")
@Configuration
public class NoActiveProfileKiller {
    public NoActiveProfileKiller() {
        throw new UnsupportedOperationException("No active profile is selected");
    }
}

但这至少会执行JPA操作。

2 个答案:

答案 0 :(得分:2)

我使用下一个使用监听器的方法完成了这个:

set WORK_ITEM_ID=123456
set URL="https://localhost:9443/ccm/oslc/workitems/%WORK_ITEM_ID%?_action=com.ibm.team.workitem.activityWorkflow.action.startWorking"
curl -D - -k -b %COOKIES% -H "Content-Type: application/x-oslc-cm-change-request+xml" -H "Accept: application/x-oslc-cm-change-request+xml" -X PUT --data-binary @input.xml %URL%

答案 1 :(得分:0)

我会做类似的事情:

    public static void main(String[] args) {
        final SpringApplication app = new SpringApplication(App.class);
        final SimpleCommandLinePropertySource source = new SimpleCommandLinePropertySource(args);
        // check if spring profile is set from outside.
        if (!source.containsProperty("spring.profiles.active") &&
            !System.getenv().containsKey("SPRING_PROFILES_ACTIVE")) {
            System.err.println("No Profile set, exiting");
            System.exit(0);
        }
    }