powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / isLocked()
10 сообщений из 10, страница 1 из 1
isLocked()
    #34330113
developer1983
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
isLocked()- кто нить может сказать что за функция? и как она работает для DB2?
...
Рейтинг: 0 / 0
isLocked()
    #34331305
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
developer1983isLocked()- кто нить может сказать что за функция? и как она работает для DB2?

Это не функция, это метод. И метод какого-то класса. А какого класса нам предстоит угадать да?
...
Рейтинг: 0 / 0
isLocked()
    #34331323
Зашедший
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz developer1983isLocked()- кто нить может сказать что за функция? и как она работает для DB2?
А какого класса нам предстоит угадать да?
"Ты знал, ты знал!"(с)
...
Рейтинг: 0 / 0
isLocked()
    #34331965
developer1983
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz developer1983isLocked()- кто нить может сказать что за функция? и как она работает для DB2?

Это не функция, это метод. И метод какого-то класса. А какого класса нам предстоит угадать да?


private synchronized boolean isLocked(){
File f=new File("lockingFile.lck");
boolean result=true;
try{
result=!f.createNewFile();
} catch(IOException e){
e.printStackTrace();
...
Рейтинг: 0 / 0
isLocked()
    #34331980
^ozzy^
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И при чем тут DB2 ?
...
Рейтинг: 0 / 0
isLocked()
    #34331982
developer1983
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
^ozzy^И при чем тут DB2 ?

Моя ошибка в фразе для DB2...
...
Рейтинг: 0 / 0
isLocked()
    #34332087
^ozzy^
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
developer1983
private synchronized boolean isLocked(){
File f=new File("lockingFile.lck");
boolean result=true;
try{
result=!f.createNewFile();
} catch(IOException e){
e.printStackTrace();

Ну вот смотрите.
попытка создания нового файла:
[quote ]
true if the named file does not exist and was successfully created; false if the named file already exists
[/quote]

exception случится может если, например, нет прав на запись в дирректорию и т.д.

Логика здесь следующая (судя по названию метода):
Допустим у нас два процесса.
1 - обрабатывает какие-либо данные (и, возможно, изменяет их)
2 - обрабатывает уже измененные первым процессом данные

1 начинает обработку и создает файл lockingFile.chk.
2 процесс тоже пытается начать обработку, но видит, что isLocked - true и ждет.
по завершении обработки данных, 1-й поток удаляет LockingFile и второй может безпрепятсвенно начать выполнение своей логики по обработке данных.
...
Рейтинг: 0 / 0
isLocked()
    #34332176
developer1983
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
^ozzy^
developer1983
private synchronized boolean isLocked(){
File f=new File("lockingFile.lck");
boolean result=true;
try{
result=!f.createNewFile();
} catch(IOException e){
e.printStackTrace();

Ну вот смотрите.
попытка создания нового файла:

true if the named file does not exist and was successfully created; false if the named file already exists
[/quote]

exception случится может если, например, нет прав на запись в дирректорию и т.д.

Логика здесь следующая (судя по названию метода):
Допустим у нас два процесса.
1 - обрабатывает какие-либо данные (и, возможно, изменяет их)
2 - обрабатывает уже измененные первым процессом данные

1 начинает обработку и создает файл lockingFile.chk.
2 процесс тоже пытается начать обработку, но видит, что isLocked - true и ждет.
по завершении обработки данных, 1-й поток удаляет LockingFile и второй может безпрепятсвенно начать выполнение своей логики по обработке данных.

public class Dictionaries implements Job{
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException{

System.out.println("started");
// if(!isLocked()){
System.out.println("really started!");
uploadOBL(sqlmap_s, sqlmap_obl);
//}
System.out.println("finished");
}

private synchronized boolean isLocked(){
File f=new File("lockingFile.lck");
boolean result=true;
try{
result=!f.createNewFile();
} catch(IOException e){
e.printStackTrace();

}
return result;
}

В данном случае я закоментил if процесс потому что программа не заходила в нужную мне часть при любом варианте. Не подскажете почему и не скажете и где можно почитать о потоках?
...
Рейтинг: 0 / 0
isLocked()
    #34332262
^ozzy^
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы немного не в ту сторону копаете (в свете нынешней реализации).
В одном месте файл создается, значит, где-то в другом он должен быть удален (в эту сторону и нужно копать. Найти, где файл удаляется, посмотреть логику, выполняется ли удаление и т.д.).

Вообще, если уж писать такой код - то правильнее, наверно:

Код: plaintext
1.
2.
3.
 private   synchronized   boolean  isLocked(){
 return   new  File("lockingFile.lck").exists();
}

и еще два метода: lock() и unlock(). Первый создает файл, второй - соотв-но удаляет.
...
Рейтинг: 0 / 0
isLocked()
    #34339838
developer1983
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
^ozzy^Вы немного не в ту сторону копаете (в свете нынешней реализации).
В одном месте файл создается, значит, где-то в другом он должен быть удален (в эту сторону и нужно копать. Найти, где файл удаляется, посмотреть логику, выполняется ли удаление и т.д.).

Вообще, если уж писать такой код - то правильнее, наверно:

Код: plaintext
1.
2.
3.
 private   synchronized   boolean  isLocked(){
 return   new  File("lockingFile.lck").exists();
}

и еще два метода: lock() и unlock(). Первый создает файл, второй - соотв-но удаляет.

Огромное спасибо за правильное направление "лопаты" помогло и заработало! Еще раз спасибо!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / isLocked()
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]