Как получить точную точку выполнения в приложении Java?

Я хочу, чтобы в работающем Java-приложении была получена точная точка выполнения или строка запуска кода.

Я исследую некоторые отказоустойчивые подходы и пытаюсь реализовать некоторые решения. Я сериализую объект Thread в файл и принудительно завершаю работу моего приложения. Моя цель состоит в том, чтобы повторно запустить сериализуемый поток не с начала метода run, а со строки, когда он был сериализован.

Проблема в том, что в запущенном потоке после вызова метода "паузы" получить строку приостановленного кода. После этого я хочу создать новый поток этого типа и запустить из этой строки.

Кто-нибудь знает, как я могу это сделать?

1 ответ

Что вам нужно, это сериализуемое продолжение. Однако о решениях, о которых я слышал, они тоже есть;

  • не полное решение
  • очень медленно, чтобы сохранить достаточно информации, чтобы вы могли остановить его в любой момент.

Лучше всего иметь конечный автомат, где вы можете записать все входные данные и, таким образом, вы можете воссоздать приложение в любой момент, воспроизведя эти события.

Другие вопросы по тегам