|
0 / 0 / 0
Регистрация: 26.09.2011
Сообщений: 28
|
|
Как задать имя потоку-демону?26.12.2011, 14:20. Показов 1305. Ответов 4
Метки нет (Все метки)
есть поток-демон:
package com.epam.hwutil.service.notificationsyst em.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.ConnectionPoo l; 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().getConnecti on(); 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().releaseConn ection((java.sql.Connection) conn, true); throw new DaeException("SQL exception while updating options..."+e.getMessage()); } finally { if(conn!=null) ConnectionPool.getInstance().releaseConn ection((java.sql.Connection) conn, false); } } },delay, period) ; } public UpdateUserInfo() {} public static void main(String[] args) {new UpdateUserInfo();} } есть в другом классе его вызов: ... UpdateUserInfo uui; ... uui = new UpdateUserInfo(); ... как этому потоку задать имя?
0
|
|
| 26.12.2011, 14:20 | |
|
Ответы с готовыми решениями:
4
Как задать имя столбца, если имя - это значение поля другой таблицы?
|
|
0 / 0 / 0
Регистрация: 22.07.2009
Сообщений: 457
|
|
| 26.12.2011, 16:53 | |
|
очевидно uui.setName(".."), как и любому потоку.
0
|
|
|
0 / 0 / 0
Регистрация: 26.09.2011
Сообщений: 28
|
|
| 26.12.2011, 17:04 [ТС] | |
|
так не получится...
класс где у меня создаётся экземпляра расширяется не от класса Thread,надо это сделать в классе UpdateUserInfo,только как?
0
|
|
|
0 / 0 / 0
Регистрация: 22.06.2011
Сообщений: 35
|
||
| 26.12.2011, 17:24 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 26.09.2011
Сообщений: 28
|
|
| 26.12.2011, 18:38 [ТС] | |
|
спасибо за помощь!
currentThread() то я и не приметил )
0
|
|
| 26.12.2011, 18:38 | |
|
Помогаю со студенческими работами здесь
5
Как задать имя переменной Как задать имя для процесса
Как задать имя шрифта текста
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
|