class AWSBeanPostProcessor implements BeanPostProcessor {

  @Override
  public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
    if (CommonBeans.BEAN_BASE_CONF.equals(beanName)) {
      Configuration baseConf = (Configuration) bean;
      bindS3AFileSystem.bindFileSystem(baseConf);
      if (baseConf.get(CREDENTIAL_PROVIDER_PATH) != null) {
        s3CredentialsUtils.setS3Credentials(baseConf);
      }
      return baseConf;
    }
    return bean;
  }

  @Autowired public  AWSBeanPostProcessor(BindS3AFileSystem bindS3AFileSystem, S3CredentialsUtils s3CredentialsUtils);

}