My java desktop application (разработка с netbean) висит во время работы в течение длительного времени (около 10 часов).Что делать, если приложение JAVA Desktop работает?
Назначение моего приложения - вызвать веб-службу SOAP для корпоративной системы. Итак, для исполнения всегда требуется много времени.
Но в первые 1 - 4 часа он работает очень хорошо.
Эта проблема всегда возникает при работе более 10 часов.
Есть шаги, которые я сделал ниже.
Используйте log4j для регистрации всех сообщений об исключениях. (Как я думаю, это может быть связано с подключением к сети, подключением к базе данных и т. Д.)
Call System.gc() каждый раз в записях (как я думаю, когда он работает в течение длительного времени. ресурс обратно в систему, поэтому я заставляю его вызывать сборщик мусора).
Я испытанный в любой ситуации, что исключение может случается, такие как
- Сетевое подключение вниз.
- Время ожидания соединения.
- Предприятие отправляет сообщение назад как 500 Внутренняя ошибка. (И все ошибки http)
- Недопустимый формат XML-сообщения SOAP.
- Ошибка при анализе XML до
- Невозможно установить соединение с базой данных.
- Неверный запрос SQL.
- Неверный тип данных поля в базе данных.
Каждое исключение будет зафиксировано log4j и сможет продолжить работу.
Но это хорошо работает в первые 1 - 4 часа. Когда он достигнет 10 часов. Он повесился. Нет журнала. Нет сообщений.
Я использую JAVA JDK 1.8, база данных MySQL 5.5.4, Window Server 2008 R2 64бит
Не могли бы вы помочь предложить то, что пятно или точка мне не хватает?
Что-нибудь еще я должен касаться и проверять?
С наилучшими пожеланиями,
Сколько памяти вы используете для своего приложения java? и увеличивается ли использование памяти с течением времени? Попробуйте установить более высокий или более низкий XMX и посмотреть, не влияет ли это на длительность, требуемую для сбоя. Если это произойдет, у вас будет место для запуска и может работать в ситуациях, когда вы можете связывать ресурсы. – sorifiend
@sorifiend Память для этого приложения была выделена около 3 ГБ. Я отслеживал в диспетчере задач и вижу, что процесс javaw.exe (мое приложение) потребляет всего ~ 170 МБ. :( –