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");

}

[8200 byte] By [ryshi1264a] at [2007-11-27 5:04:18]
# 1
int period = 1000*60*60*24*30; is -1702967296. You get an overflow there.
PhHeina at 2007-7-12 10:22:36 > top of Java-index,Desktop,Core GUI APIs...
# 2
I'd change 1000 to 10000?
ryshi1264a at 2007-7-12 10:22:36 > top of Java-index,Desktop,Core GUI APIs...