NutzCN Logo
问答 如何主动重置ioc,发起depose再重新create
发布于 1742天前 作者 qq_8c799e25 1636 次浏览 复制 上一个帖子 下一个帖子
标签:

我把chromedriver封装在ioc中,有时候浏览器会被杀掉,导致连接不上,这样保护:

		try{
			driver.get(url);
		}catch(Throwable t){
			t.printStackTrace();
			Mvcs.getIoc().depose();
			log.info("mvc ioc depose");
		}

chromedriver写了depose和create方法:

public void create(){
 //.....
}
    public void depose(){
    	if(driver!=null){
    		try{
    	  		driver.close();
    		}catch(Throwable t){
    			t.printStackTrace();
    		}
  
    		driver = null;
    	}
    }

我期望这样的流程,mvc接口中调用driver如果异常,就主动depose(),再随后create出来恢复,
但是Mvcs.getIoc().depose();调了后没有恢复,请问如何解决?

1 回复

从ioc容器上下文移除对象

((NutIoc)ioc).getIocContext().remove("xxx")

但不会触发对象depose事件

你这种场景,这个对象没必要用ioc管理啦,做个单例方法就好啦

添加回复
请先登陆
回到顶部