Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException:
does anybody knows how to solve this problem....
Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: Non-positive period.
at java.util.Timer.scheduleAtFixedRate(Timer.java:295)
at ArchMain.jButton1ActionPerformed(ArchMain.java:280)
at ArchMain.access$000(ArchMain.java:19)
at ArchMain$1.actionPerformed(ArchMain.java:53)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6038)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
BUILD SUCCESSFUL (total time: 15 seconds)
--
Here is sample of my code:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jButton2.setEnabled(false);
jButton3.setEnabled(false);
jButton4.setEnabled(false);
int initialDelay = 1000; // start after 1 seconds
int period = 1000*60*60*24*30;// repeat every month
Timer timer = new Timer();
TimerTask task = new TimerTask() {
public void run() {
try {
MyDBConnection jdbc = new MyDBConnection();
jdbc.init();
Connection conn = jdbc.getMyConnection();
Statement stmt = conn.createStatement();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date();
String[] tbl = {"emticket","emattachment","emhistory","emtracker"};
progTxt.setText("");
Logs l = new Logs();
l.append("Auto Archive");
date.getTime();
//Archive data
progTxt.append("\n\n");
progTxt.append("Archiving Data... ");
stmt.execute("select * into outfile 'c:/emticket " + dateFormat.format(date) + ".csv' fields terminated by ',' enclosed by '\"' lines terminated by '\\n' from emticket where RcvDateTime between date_sub(curdate(),interval 30 day) and curdate()");
stmt.execute("select * into outfile 'c:/emattachment " + dateFormat.format(date) + ".csv' fields terminated by ',' enclosed by '\"' lines terminated by '\\n' from emattachment where EmID in (select EmID from emticket where RcvDateTime between date_sub(curdate(),interval 30 day) and curdate())");
stmt.execute("select * into outfile 'c:/emhistory " + dateFormat.format(date) + ".csv' fields terminated by ',' enclosed by '\"' lines terminated by '\\n' from emhistory where TicketID in (select TicketID from emticket where RcvDateTime between date_sub(curdate(),interval 30 day) and curdate())");
stmt.execute("select * into outfile 'c:/emtracker " + dateFormat.format(date) + ".csv' fields terminated by ',' enclosed by '\"' lines terminated by '\\n' from emtracker where TicketID in (select TicketID from emticket where RcvDateTime between date_sub(curdate(),interval 30 day) and curdate())");
progTxt.append("Done.\n\n");
//Delete data
progTxt.append("Deleting Data... ");
stmt.execute("delete emticket, emattachment, emhistory, emtracker from emticket, emattachment, emhistory, emtracker where emattachment.EmID=emticket.EmID and emhistory.TicketID=emticket.TicketID and emtracker.TicketID=emtracker.TicketID and where RcvDateTime between DATE_SUB(CURDATE(),INTERVAL 30 DAY) and CURDATE())");
System.out.println(stmt.getUpdateCount());
progTxt.append("Done.\n\n");
//Backup tables
//progTxt.append("Backing up Tables... ");
//FileCopy fc = new FileCopy();
// for(String t:tbl) {
//fc.copy("C:/Program Files/MySQL/MySQL Server 5.0/data/test/" + t + ".frm","c:/" + t + ".frm");
//fc.copy("C:/Program Files/MySQL/MySQL Server 5.0/data/test/" + t + ".myd","c:/" + t + ".myd");
//fc.copy("C:/Program Files/MySQL/MySQL Server 5.0/data/test/" + t + ".myi","c:/" + t + ".myi");
// }
//progTxt.append("Done.\n\n");
//
////Optimize || Repair || Restore Tables
// progTxt.append("Optimizing Tables... ");
// ResultSet rs = stmt.executeQuery("optimize table emticket, emattachment, emhistory, emtracker");
// while(rs.next()) {
//if(rs.getString("Msg_type").equals("error")) {
//boolean success = false;
//progTxt.append("Error.\n\n");
//progTxt.append("Repairing Tables... ");
//ResultSet r = stmt.executeQuery("repair table emticket, emattachment, emhistory, emtracker");
//while(r.next()) {
//if(r.getString("Msg_text").equals("OK")) {
//success = true;
//}
//}
//if(success == false) {
//for(String t:tbl) {
//progTxt.append("Error.\n\n");
//progTxt.append("Restoring Tables... ");
////fc.copy("C:/" + t + ".frm","C:/Program Files/MySQL/MySQL Server 5.0/data/test/" + t + ".frm");
////fc.copy("C:/" + t + ".myd","C:/Program Files/MySQL/MySQL Server 5.0/data/test/" + t + ".myd");
////fc.copy("C:/" + t + ".myi","C:/Program Files/MySQL/MySQL Server 5.0/data/test/" + t + ".myi");
//}
//}
//}
//}
// progTxt.append("Done.\n\n");
//
////Delete temporary files
// progTxt.append("Deleting Temporary Files... ");
// for(String t:tbl) {
//File frm = new File("C:/" + t + ".frm");
//File myd = new File("C:/" + t + ".myd");
//File myi = new File("C:/" + t + ".myi");
//frm.delete();
//myd.delete();
//myi.delete();
// }
// progTxt.append("Done.\n\n");
progTxt.append("Auto-archive has successfully completed.");
} catch(Exception ex) {
progTxt.append("\nAn error has occurred, Auto-archive was unsuccessful.");
ex.printStackTrace();
}
}
};
if(aaTxt.getText().equals("Auto archive is turned off")) {
timer.scheduleAtFixedRate(task, initialDelay, period);
aaTxt.setText("Auto Archive is running.. ");
} else {
timer.cancel();
aaTxt.setText("Auto archive is turned off");
progTxt.setText("");
}
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
int i = JOptionPane.showConfirmDialog(null,"Are you sure,you want to Log Off?!","Log Off",JOptionPane.OK_CANCEL_OPTION);
if (i == 0) {
this.dispose();
}
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
ArchMan a = new ArchMan();
a.setVisible(true);
this.setVisible(false);
Logs l = new Logs();
l.append("Manual Archive");
}

