如果没有活动的个人资料,如何在执行任何操作(尤其是bean创建)之前退出应用程序?
我用这样的配置完成了这个:
@Profile("default")
@Configuration
public class NoActiveProfileKiller {
public NoActiveProfileKiller() {
throw new UnsupportedOperationException("No active profile is selected");
}
}
但这至少会执行JPA操作。
答案 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);
}
}