首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

线程施用

2012-11-18 
线程应用/*** 扫描存储周期配置变更线程**/new BasicThread(SynchronizeDataRetentionThread){@Override

线程应用
/**
         * 扫描存储周期配置变更线程
         *
         */
        new BasicThread("SynchronizeDataRetentionThread")
        {
            @Override
            public void run()
            {
                while (isRun())
                {
                    if (isInited)
                    {
                        /* 如果存储周期整在变化,则不创建区域与预定义对象的表 */
                        if(ReportServerInitializer.isCreateTable())
                        {
                            continue;
                        }
                        try
                        {
                            if (dataRetentionSyn == null)
                            {
                                dataRetentionSyn = new DataRetentionSyn();
                            }

                            if (logger.isDebugEnabled())
                            {
                                logger
                                        .debug("RptServer Thread"
                                                + " is synchronizing table MNT_DATA_RETENTION_TIME ...");
                            }

                            dataRetentionSyn.synchronier();

                        }
                        catch (Throwable e)
                        {
                            if (logger.isErrorEnabled())
                            {
                                logger.error(e.getMessage(), e);
                            }
                        }
                        finally
                        {
                            // 不管建表成功或是失败,则允许其他线程进行建表操作
                            ReportServerInitializer.changeIsCreateTableTo(false);
                        }
                    }

                    this.threadSleep(60 * 1000);
                }
            }

        }.start();

热点排行