nutzboot有没有一个回调接口处于数据访问层,javabean初始化完成,但是starter还没有初始化的这个阶段,
现在碰到一个问题:
我想把建表语句放在这个阶段执行,因为后续的starter会依赖数据库表,如果没有建表就直接报错了;
6 回复
* 启动整个NbApp
*/
public void _run() throws Exception {
Stopwatch sw = Stopwatch.begin();
// 各种预备操作
this.prepare();
################################################
#########最好能在这里给个回调能够在ioc容器初始化完,但是starter还没有开始的时候调用
#################################################################################3
// 依次启动
try {
ctx.init();
ctx.startServers();
if (ctx.getMainClass().getAnnotation(IocBean.class) != null)
ctx.getIoc().get(ctx.getMainClass());
sw.stop();
log.infof("NB started : %sms", sw.du());
synchronized (lock) {
lock.wait();
}
}
catch (Throwable e) {
log.error("something happen!!", e);
}
// 收尾
ctx.stopServers();
ctx.depose();
}
如上代码,最好在prepare方法和init方法之间给给个回调扩展,这个地方还是需要一些人工干预的;整体感觉就是starter一旦定义好了就没法控制他们运行了(一旦涉及到依赖关系的问题),需要一起事件回调暴露出来;
添加回复
请先登陆