У меня есть процесс dotnet, который через вызовы неуправляемой dll связывается с процессом Java.
При некоторых обстоятельствах Java-процесс завершается сбоем, и мой процесс dotnet прекращается. Никаких исключений не возникает, процесс просто умирает. После сбоя java создает файл журнала с такими именами, как «hs_err_pid3228» и т. Д.
Не получив никакого удовлетворения от поставщика, который предоставляет неуправляемый dll и процесс java, я ограничен попыткой смягчить проблему, которая потребовала бы обеспечения вызовов в процесс java, если они терпят крах, не принимают вниз мой процесс.
Прочитав различные статьи, домены приложений кажутся вероятным кандидатом для использования - моя теория заключается в том, что я могу немного поработать над своей функциональностью, которая вызывает процесс java, и запустить его в отдельном домене приложений, который, я надеюсь, позволит мне, если нет перехватите домен приложения, хотя бы обнаружите, что это произошло, и перезапустите эту функцию.
У кого-нибудь была подобная проблема? Этот подход кажется разумным для тех из вас, у кого больше опыта работы с appdomain?
Чтобы сделать его еще более увлекательным, аварийное завершение Java на самом деле не воспроизводимо - оно кажется очень случайным, и я все еще борюсь с тем, как я иду на ТЕСТ, разделяющий на домен приложения