系统加载配置文件 和 定时跑批

import java.util.Calendar;

import java.util.Date;

import java.util.Timer;

import javax.servlet.http.HttpServlet;

import org.apache.log4j.Logger;

/**

 * 系统加载

 * @date 2011-06-08

 */

@SuppressWarnings("serial")

public class Init extends HttpServlet {

public static Logger logger = Logger.getLogger(Init.class);

@SuppressWarnings("static-access")

public void init() 

{

logger.error("admin start...");

String classespath = getServletContext().getRealPath("/WEB-INF/classes/config");

try 

{

//读取codes.properties

starterimpl.loadCodes(classespath);

//读取init.properties

starterimpl.loadInits(classespath);


//定时凌晨1点跑批

Timer timer = new Timer();

TimeService timeService = new TimeService();

Calendar cd = Calendar.getInstance();

cd.setTime(new Date());

//设置开始时间为明天凌晨1点

cd.add(Calendar.DAY_OF_MONTH, 1);

cd.set(Calendar.HOUR_OF_DAY, 1);

cd.set(Calendar.MINUTE, 0);

cd.set(Calendar.SECOND, 0);

//在延迟 delay 秒后执行 mytask

long delay = (cd.getTime()).getTime() - (new Date()).getTime();

//执行周期为一天

timer.schedule(timeService, delay, 24 * 60 * 60 * 1000);

logger.error("admin success...");

catch (Exception e) 

{

e.printStackTrace();

logger.error("admin error...");

}

}

}

********************************------------------------------------------

public class InitImpl 
{


public static Logger logger = Logger.getLogger(InitImpl.class);

/**加载 codes.properties的内容 path访问根路径*/
public static void loadCodes(String path) throws IOException
{
path = path + "/codes.properties";

        if (FileHelper.exists(path))

        {

        Main.codes = FileHelper.readPropertiesFile(path);

        } 

        else 

        {

        logger.error("admin code.properties not loaded");

        }

}
/**加载 init.properties的内容 path访问根路径*/
public static void loadInits(String path) throws IOException
{
path = path + "/init.properties";

        if (FileHelper.exists(path))

        {

        Properties pro = FileHelper.readPropertiesFile(path);

        Main.rootpath = pro.getProperty("rootpath");

        Main.homepath = pro.getProperty("homepath");

        Main.picpath = pro.getProperty("picpath");

        Main.ippath = pro.getProperty("winekeeip");

        Main.winekeeurl = pro.getProperty("winekeeurl");

        Main.inits = pro;

        } 

        else 

        {

        logger.error("admin init.properties not loaded");

        }

}

}

#####################*************************************


public class TimeService  extends  TimerTask
{
public static Logger logger = Logger.getLogger(TimeService.class);

@Override
public void run() 
{
logger.error("timertask start...");

logger.error("timertask end...");
}

}


web.xml配置:


<servlet>
<servlet-name>applicationstarter</servlet-name>
<servlet-class>com.common.init.Init</servlet-class>
<load-on-startup>20</load-on-startup>
</servlet>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
配置 rsyslog 的配置文件,以避免内存不断增加,可以采取以下几个步骤: 1. 减少日志的产生量:通过修改日志的级别,可以控制系统生成的日志数量。可以将不必要的日志级别调整为较低的级别,从而减少日志的产生量。在 rsyslog 配置文件中,你可以设置每个日志规则的级别。 2. 设置日志的保存周期:通过设置日志文件的保存周期,可以限制日志文件的大小和数量。你可以在 rsyslog 配置文件中为每个日志规则设置保存周期,例如,使用 `maxsize` 和 `rotate` 参数来控制日志文件的大小和数量。 3. 使用适当的输出方式:rsyslog 提供了多种输出方式,如本地文件、远程服务器和数据库等。你可以根据需求选择适当的输出方式,以避免内存占用过高。例如,可以将一些日志直接输出到文件,而不是全部保存在内存中。 4. 定期重启 rsyslog 服务:由于可能存在内存泄漏或其他问题,定期重启 rsyslog 服务可以释放占用的内存并重新加载配置文件。你可以设置定时任务或者手动定期重启服务。 5. 根据系统资源限制进行调整:如果系统对进程的内存限制较低,可以修改系统的资源限制,以便 rsyslog 进程有足够的内存使用。 以上是一些常见的配置方法,可以帮助你控制 rsyslog 的内存占用。根据你的具体需求和系统环境,可以灵活调整配置。如果有其他问题,请随时提问!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值