java 执行批处理文件.bat 数据库自动备份
1.提前写好备份.bat,放在某个文件夹里,将路径设置在.properties里的
@echo off
set txt=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
echo %txt%
echo --------------------------------------------------
echo -------------正在执行oracle数据库备份--------------
echo --------------------------------------------
echo ...
echo ...
echo 导出Database...
if exist %txt%.dmp del %txt%.dmp
exp userid=user/user@ORCL file=d:/%txt%.dmp
echo ...
echo ...
echo 备份完成!
exit
2.在XML文件里添加监听
<listener>
<listener-class>
com.dbbackup.DbBackUpListener
</listener-class>
</listener>
3.主程序
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class DbBackUpListener implements ServletContextListener {
// 设置备份间隔时间
int intTime = 60;//这里设置1分钟执行一次
public void contextDestroyed(ServletContextEvent sce) {
}
public void contextInitialized(ServletContextEvent sce) {
ServletContext ctx = sce.getServletContext();
// 取得.bat文件的路径。路径设置到了.properties里
String filePath = PropertyUtil
.getProperty("WEB-INF/test.bat");
PickTask picktask = new PickTask(ctx.getRealPath(filePath));
// 多久执行一次
picktask.start(1, intTime);
}
}
class PickTask {
private Timer timer;
private String fileName = null;
public PickTask(String fileName1) {
this.timer = new Timer();
this.fileName = fileName1;
相关文档:
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
jdk,j2ee,j2se,j2me的概念区别
1.
JDK是Java development toolkit,相当于是Java的库函数,是编译,运行java程序的工具包。
J2EE是Java 2 enterprise edition是Java的一种企业版用于企业级的应用服务开发
J2SE是Java 2 standard edition是Java的标准版,用于标准的应用开发
J2ME是Java 2 Micro Edition是Java的微型版,常 ......
一种是继承自Thread类.Thread 类是一个具体的类,即不是抽象类,该类封装了线程的行为。要创建一个线程,程序员必须创建一个从 Thread 类导出的新类。程序员通过覆盖 Thread 的 run() 函数来完成有用的工作。用户并不直接调用此函数;而是通过调用 Thread 的 start() 函数,该函数再调用 run()。
&nb ......
通过监听器(Listener)和定时器(Timer)定时执行某个任务(Task)。
(1)Listener
import
java.util.Timer;
import
javax.servlet.ServletContextEvent;
import
javax.servlet.ServletContextListener;
public
class
MyListener
implements
ServletContextListener {
p ......
1. 在工程中创建监听类SessionListener 并且实现HttpSessionListener接口,代码如下
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class SessionListener implements HttpSessionListener {
private static ......