Транзакционность

  • 9
  • Недоступна
Сделать метод joinData транзакционным, т.е. если произошел сбой, то данные не должны быть изменены. 1. Считать с консоли 2 имени файла 2. Считать построчно данные из файлов. Из первого файла - в allLines, из второго - в forRemoveLines В методе joinData: 3. Если список allLines содержит все строки из
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (155)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Nikolay Boguslavsky18 уровень
четверг, 18:29
Сижу думаю и не могу понять, как решить с помощью потоков?
skybright18 уровень
12 мая, 16:34
Долго не проходил валидацию по 4-м пунктам из за того, читал строки из файлов в методе joinData(); А надо в main(String[] args)
Роман18 уровень
позавчера, 17:54
Thx! Споткнулся там же.
wvfenix8722 уровень, Москва
5 мая, 18:52
Опять условие некорректно, что подразумевается под содержит? у меня есть 3 одинаковые строчки в одном файле, и 1 такая же строчка в другом, на удаление который. Что я должен сделать, удалить все строчки из первого списка или я должен удалить 1 строчку из списка? А самое прекрасное в обратной ситуации. У меня есть 1 строчка в основном файле и 3 такие же строчки в файле на удаление. Должна ли программа выбрасывать исключение при этом?
fedor19 уровень, Москва
20 апреля, 18:32
ну что? все следили за списком импортов?)) из-за этой строчки, оставленной разрабами минус 2 попытки
import sun.invoke.empty.Empty;
Pavlo Plynko40 уровень, Киев
25 апреля, 12:20
Два импорта всего вначале есть:
import java.util.ArrayList;
import java.util.List;
Скорее всего, ты выбрал не тот импорт из предложенных идеей.
Oleg19 уровень
14 апреля, 15:36
"Вы решили задачу хуже , чем 100% учеников. Потому что затолкайте свое решение в темноту, оно никому не интересно "
IlyaB22 уровень
7 апреля, 08:54
19 Попыток! Создал свой exception CorruptedDataException, а он уже был в другом файле(((
Den Nonamed19 уровень
6 апреля, 15:44
8 попыток. Кто же знал что не нужно записывать результат обрезки обратно в файл =)
NewBuy22 уровень, Санкт-Петербург
31 марта, 17:47
Ну что за хрень, почему в Условии нигде не сказано, что join() не должен быть статчиеским???
Denis Filokhin20 уровень
20 марта, 16:01
Простейшая задача, но потратил 3 попытки на "очистить список". Чистил его через цикл, удалял значения, присваивал null. Господа, используйте clear )
Mike Woo26 уровень, Москва
18 марта, 12:15
К вопросу "Нужны ли здесь потоки": фактически, программа симулирует нарушение целостности полученных данных (например, обрыв связи или завершение потока чтения из-за ошибки) и корректную обработку данной ситуации (если содержимое файлов равно = всё ОК, если отличается - симулируется сбой). Когда что-то не сработало, и надо вернуться к состоянию, которое было ДО начала транзакции. Пример НЕ транзакционного подхода: - Пришли в магазин - Отдали продавцу деньги - У продавца случился AssOverflow и вместо того, чтобы выдать вам продукты он закрыл магазин - Вы пришли домой, без денег, без продуктов, жена бьет сковородой, жизнь падает Пример транзакционного подхода: - Пришли в магазин (начало транзакции) - Достали деньги, продавец достал продукты - Обменялись ими одновременно (конец транзакции) Пример условный, но суть - именно такая. Основное правило: либо транзакция происходит успешно, либо всё остается так, как будто она даже не начиналась.
Mike Woo26 уровень, Москва
18 марта, 12:21
Теперь о том, как по идее должен быть выстроен алгоритм для симуляции транзакций: 0) Создаем два файла, либо идентичных (всё ОК), либо разных - чтобы симулировать сбой 1) В main читаем имена файлов и их содержимое 2) Далее в методе joinData() проводим сравнение данных и, если его нет, бросаем исключение Потоки здесь в принципе не подразумеваются.