@Override public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException { if (bean instanceof DataSource) { try { ((DataSource) bean).preRegister(null, new ObjectName("*:*")); } catch (Exception e) { log.warn("error registering mbean", e); } } return bean; }