package com.hanshow.mapserver.portal.web;
import com.hanshow.component.thread.StartProcessor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.lang.Nullable;
import org.springframework.stereotype.Component;
@Component
public class BeanPostProcessorForWeb implements BeanPostProcessor {
static Logger logger = LoggerFactory.getLogger(BeanPostProcessorForWeb.class);
@Autowired
private StartProcessor startProcessor;
@Nullable
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
logger.info("before beanName={}",beanName);
return bean;
}
@Nullable
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
logger.info("after beanName={}",beanName);
if("org.springframework.web.servlet.support.SessionFlashMapManager".equals(beanName)){
try {
//本来在PostConstruct执行的代码某个bean加载完毕后在执行此时dubbo已经注册
//org.springframework.web.servlet.support.SessionFlashMapManager需要根据实际情况改下
startProcessor.startup();
} catch (Exception e) {
logger.error("",e);
}
}
return bean;
}
}
@PostConstruct dubbo还未注册此时调用服务报错
最新推荐文章于 2024-05-03 00:53:02 发布