|
|
|
isLocked()
|
|||
|---|---|---|---|
|
#18+
isLocked()- кто нить может сказать что за функция? и как она работает для DB2? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 13:22:23 |
|
||
|
isLocked()
|
|||
|---|---|---|---|
|
#18+
developer1983isLocked()- кто нить может сказать что за функция? и как она работает для DB2? Это не функция, это метод. И метод какого-то класса. А какого класса нам предстоит угадать да? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 18:01:21 |
|
||
|
isLocked()
|
|||
|---|---|---|---|
|
#18+
Blazkowicz developer1983isLocked()- кто нить может сказать что за функция? и как она работает для DB2? А какого класса нам предстоит угадать да? "Ты знал, ты знал!"(с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2007, 18:08:41 |
|
||
|
isLocked()
|
|||
|---|---|---|---|
|
#18+
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(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 07:34:37 |
|
||
|
isLocked()
|
|||
|---|---|---|---|
|
#18+
^ozzy^И при чем тут DB2 ? Моя ошибка в фразе для DB2... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 07:56:00 |
|
||
|
isLocked()
|
|||
|---|---|---|---|
|
#18+
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 и второй может безпрепятсвенно начать выполнение своей логики по обработке данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 09:09:35 |
|
||
|
isLocked()
|
|||
|---|---|---|---|
|
#18+
^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 процесс потому что программа не заходила в нужную мне часть при любом варианте. Не подскажете почему и не скажете и где можно почитать о потоках? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 09:44:28 |
|
||
|
isLocked()
|
|||
|---|---|---|---|
|
#18+
Вы немного не в ту сторону копаете (в свете нынешней реализации). В одном месте файл создается, значит, где-то в другом он должен быть удален (в эту сторону и нужно копать. Найти, где файл удаляется, посмотреть логику, выполняется ли удаление и т.д.). Вообще, если уж писать такой код - то правильнее, наверно: Код: plaintext 1. 2. 3. и еще два метода: lock() и unlock(). Первый создает файл, второй - соотв-но удаляет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2007, 10:09:44 |
|
||
|
isLocked()
|
|||
|---|---|---|---|
|
#18+
^ozzy^Вы немного не в ту сторону копаете (в свете нынешней реализации). В одном месте файл создается, значит, где-то в другом он должен быть удален (в эту сторону и нужно копать. Найти, где файл удаляется, посмотреть логику, выполняется ли удаление и т.д.). Вообще, если уж писать такой код - то правильнее, наверно: Код: plaintext 1. 2. 3. и еще два метода: lock() и unlock(). Первый создает файл, второй - соотв-но удаляет. Огромное спасибо за правильное направление "лопаты" помогло и заработало! Еще раз спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2007, 07:35:10 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34330113&tid=2146610]: |
0ms |
get settings: |
21ms |
get forum list: |
32ms |
check forum access: |
9ms |
check topic access: |
9ms |
track hit: |
85ms |
get topic data: |
25ms |
get forum data: |
6ms |
get page messages: |
86ms |
get tp. blocked users: |
3ms |
| others: | 344ms |
| total: | 620ms |

| 0 / 0 |
