Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: потоки-демоны в java
 
 автор: servannin   (18.10.2005 в 15:00)   письмо автору
 
 

есть поток-демон:

package com.epam.hwutil.service.notificationsystem.mailer;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import java.sql.*;

import java.util.Timer;
import java.util.TimerTask;

import com.epam.hwutil.service.db.ConnectionPool;
import com.epam.da.shared.DaeException;

public class UpdateUserInfo extends Timer {

private static final Log LOG = LogFactory.getLog(UpdateUserInfo.class);

private static final String INSERT_SQL =
"INSERT INTO DW.HWU_USER" +
"(USER_ID, USER_TYPE_ID, USER_IS_ACTIVE, USER_FIRSTNAME, USER_LASTNAME)" +
"SELECT MP.PERSON_ID, 4, 1, MP.FIRST_NAME, MP.LAST_NAME" +
"FROM M_PERSON@PMCDB MP, M_EMPLOYEE@PMCDB ME " +
"WHERE NOT EXISTS (SELECT U.USER_TYPE_ID FROM HWU_USER U WHERE U.USER_ID = MP.PERSON_ID)" +
"AND ME.EMPLOYEE_ID = MP.PERSON_ID AND ME.FIRED = ''N''";

private static final String DELETE_SQL =
"DELETE FROM DW.HWU_USER U " +
"WHERE EXISTS (SELECT ME.EMPLOYEE_ID FROM M_EMPLOYEE@PMCDB ME" +
"WHERE ME.FIRED = ''Y'' AND ME.EMPLOYEE_ID = U.USER_ID )";

public static final long period = 43200000; // delay - 12 hours
public static final long delay = 1000; // wait 1 sec before start

public UpdateUserInfo(int delay) {
super(true);
schedule(new TimerTask() {
public void run() {
while(true){
try {
update();
}
catch (DaeException e) {
LOG.info("Update thread interrupted...");
}
}
}
private void update() throws DaeException {
Connection conn = null;
try
{
conn = ConnectionPool.getInstance().getConnection();
PreparedStatement statement = conn.prepareStatement(INSERT_SQL);
statement.execute();
statement = conn.prepareStatement(DELETE_SQL);
statement.execute();
statement.close();
}
catch (SQLException e)
{
if(conn!=null)
ConnectionPool.getInstance().releaseConnection((java.sql.Connection) conn, true);
throw new DaeException("SQL exception while updating options..."+e.getMessage());
}
finally
{
if(conn!=null)
ConnectionPool.getInstance().releaseConnection((java.sql.Connection) conn, false);
}
}
},delay, period) ;
}

public UpdateUserInfo() {}
public static void main(String[] args) {new UpdateUserInfo();}

}

есть в другом классе его вызов:
...
UpdateUserInfo uui;
...
uui = new UpdateUserInfo();
...

как этому потоку задать имя?

   
 
 автор: servannin   (19.10.2005 в 11:45)   письмо автору
 
   для: servannin   (18.10.2005 в 15:00)
 

если вдруг кто-то вздумает отвечать,то спасибо,уже сам разобрался...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования