Как получить точную точку выполнения в приложении Java?
Я хочу, чтобы в работающем Java-приложении была получена точная точка выполнения или строка запуска кода.
Я исследую некоторые отказоустойчивые подходы и пытаюсь реализовать некоторые решения. Я сериализую объект Thread в файл и принудительно завершаю работу моего приложения. Моя цель состоит в том, чтобы повторно запустить сериализуемый поток не с начала метода run, а со строки, когда он был сериализован.
Проблема в том, что в запущенном потоке после вызова метода "паузы" получить строку приостановленного кода. После этого я хочу создать новый поток этого типа и запустить из этой строки.
Кто-нибудь знает, как я могу это сделать?
1 ответ
Что вам нужно, это сериализуемое продолжение. Однако о решениях, о которых я слышал, они тоже есть;
- не полное решение
- очень медленно, чтобы сохранить достаточно информации, чтобы вы могли остановить его в любой момент.
Лучше всего иметь конечный автомат, где вы можете записать все входные данные и, таким образом, вы можете воссоздать приложение в любой момент, воспроизведя эти события.