Example usage for org.springframework.beans.factory.config ConfigurableListableBeanFactory getDependenciesForBean

List of usage examples for org.springframework.beans.factory.config ConfigurableListableBeanFactory getDependenciesForBean

Introduction

In this page you can find the example usage for org.springframework.beans.factory.config ConfigurableListableBeanFactory getDependenciesForBean.

Prototype

String[] getDependenciesForBean(String beanName);

Source Link

Document

Return the names of all beans that the specified bean depends on, if any.

Usage

From source file:org.springframework.integration.flow.config.FlowUtils.java

private static void _displayDependencies(ConfigurableListableBeanFactory beanFactory, String[] beans,
        int level) {
    for (int i = 0; i < beans.length; i++) {

        System.out.println(indent(level) + beans[i]);

        String[] dependencies = beanFactory.getDependenciesForBean(beans[i]);
        String[] depsArray = new String[dependencies.length];
        int index = 0;
        for (String dependency : dependencies) {
            if (!dependency.equals(beans[i])) {

                depsArray[index++] = dependency;
            } else {
                System.out.println(indent(level + 1) + beans[i]);
            }//from  ww  w . j a  va 2 s  . c  o  m
        }
        if (depsArray.length > 0) {
            _displayDependencies(beanFactory, Arrays.copyOf(depsArray, index), level + 1);
        }

    }

}

From source file:org.springframework.integration.flow.config.FlowUtils.java

private static void _getReferencedMessageChannels(ConfigurableListableBeanFactory beanFactory, String[] beans,
        Set<String> messageChannels) {

    for (String bean : beans) {
        if (!bean.startsWith("(inner bean)") && !bean.equals("nullChannel")) {
            Class<?> clazz = null;
            if (beanFactory.containsBean(bean)) {
                clazz = beanFactory.getType(bean);
            }/*from w w w . j  a  v a  2 s.com*/

            if (clazz != null) {
                if (MessageChannel.class.isAssignableFrom(clazz)) {
                    messageChannels.add(bean);
                }
                String[] dependencies = beanFactory.getDependenciesForBean(bean);
                if (dependencies.length > 0) {
                    _getReferencedMessageChannels(beanFactory, dependencies, messageChannels);
                }
            }
        }
    }
}