package org.jspringbot;
import org.jspringbot.spring.ApplicationContextFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MainContextHolder {
private static final ThreadLocal<ClassPathXmlApplicationContext> CONTEXT = new ThreadLocal<ClassPathXmlApplicationContext>();
public static ClassPathXmlApplicationContext create() {
ClassPathXmlApplicationContext context = ApplicationContextFactory.create("classpath:spring-main.xml");
CONTEXT.set(context);
return context;
}
public static boolean isEnabled() {
return CONTEXT.get() != null;
}
public static ClassPathXmlApplicationContext get() {
if(CONTEXT.get() == null) {
throw new IllegalStateException("Not running in jspringbot runtime.");
}
return CONTEXT.get();
}
public static void remove() {
get().destroy();
CONTEXT.remove();
}
}