当前位置: 网学 > 编程文档 > JSP > 正文

OpenCms文件导入过程初探

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/17
下载{$ArticleTitle}原创论文样式
p;  try {

            sleep(1000);

            m_lt.stopThread();

            m_pipedOut.close();

        }

        catch (InterruptedException e)  {

            m_lt.stopThread();

            e.printStackTrace(m_tempErr);

        }

        catch (IOException e)  {

            m_lt.stopThread();

            e.printStackTrace(m_tempErr);

        }



        /* restore to the old streams */

        System.setOut(m_tempOut);

        System.setErr(m_tempErr);



    }

… …… ……

}

从上面的代码中的public void run() 方法中可以看出系统的确用该类来处理文件导入的工作。主要分为一下几个步骤来完成。这里就验证了我们前面name为display的frame向用户显示处理结果的,name 为data 的frame来处理文件导入的猜想。。

1、 备份系统的标准输出和系统的错误输出

m_tempOut = System.out;

m_tempErr = System.err;

2、 将系统输出重新定向到一个PipedOutputStream实例(instance)

System.setOut(new PrintStream(m_pipedOut));

System.setErr(new PrintStream(m_pipedOut));

这样一来说有的系统输出都会定向到m_pipedOut到这个对象上来了。要显示处理信息只需要处理是用System.out.println()之类方法打印出来。在前面读取m_pipedOut就可以了。是不是这样实现还有待证实。

3、 启动 CmsSetupLoggingThread  线程;

4、 开始导入工作。有代码为证

/* start importing the workplace */

CmsMain.startSetup(basePath + "WEB-INF/ocsetup/cmssetup.txt", basePath + "WEB-INF/");

5、 停止CmsSetupLoggingThread 线程。

6、 还原系统的标准输出和系统的错误输出。

下面就是还不清楚CmsSetupLoggingThread到底是什么玩意。通过查看源码可以发现他就是用来收集CmsSetupThread线程的处理信息的。并且就是通过PipedOutputStream来完成这两个线程的通信。这一点可以从他的构造函数知道。

    public CmsSetupLoggingThread(PipedOutputStream pipedOut)  {

        messages = new Vector();

        m_stopThread = false;

        try {

            m_pipedIn = new PipedInputStream();

            m_pipedIn.connect(pipedOut);

            m_LineReader = new LineNumberReader(new BufferedReader(new

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号