首页 > 其他 > 详细

ofbiz中的container-1

时间:2015-06-18 20:11:18      阅读:247      评论:0      收藏:0      [点我收藏+]

在ofbiz中,主要有三种container

  1. 系统启动时候的container

    技术分享这个在启动类中被调用,根据framework\base\config\ofbiz-containers.xml中的定义加载其他容器

  2. 用来加载组件的container

    技术分享

    在这里边定义的container会被顶层container启动,执行指定的class类

    这里定义的container执行的时候基本上是组件还没有加载

  3. 组件中component-load.xml定义的container

    技术分享这里边的容器基本上是在组件配置全部加载完毕后开始执行



  4. //获取全部组件中定义的container
            List<ContainerConfig.Container> containersDefinedInComponents = ComponentConfig.getAllContainers();
            for (ContainerConfig.Container containerCfg: containersDefinedInComponents) {
                boolean matchingLoaderFound = false;
                if (UtilValidate.isEmpty(containerCfg.loaders) && UtilValidate.isEmpty(loaders)) { //比较启动级别
                    matchingLoaderFound = true;
                } else {
                    for (String loader: loaders) {
                        if (UtilValidate.isEmpty(containerCfg.loaders) || containerCfg.loaders.contains(loader)) {
                            matchingLoaderFound = true;
                            break;
                        }
                    }
                }
                if (matchingLoaderFound) {
                    Debug.logInfo("Loading component‘s container: " + containerCfg.name, module);
                    Container tmpContainer = loadContainer(containerCfg, args); //加载Container,执行其中的init方法
                    this.loadedContainers.add(tmpContainer);//加入缓存
                    Debug.logInfo("Loaded component‘s container: " + containerCfg.name, module);
                }
            }

总结:

  这三个地方的container并没有什么不同,主要是因为启动顺序和作用的问题把这些container写在不同的配置文件中

本文出自 “沧海龙腾” 博客,谢绝转载!

ofbiz中的container-1

原文:http://canghailongteng.blog.51cto.com/4967747/1663167

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!