Окружающая среда: Glassfish 4,0 (только один DAS), Windows Server 2012 R2, Java 1.7.0_51 Создание службы экземпляра DAS с помощью субкоманды создания-службы.вращения журнала Glassfish4 "Maximum History Files" проблема
Выпуск: Максимальная история атрибута было установлено файлы, однако, Glassfish сервер не может удалить старые файлы журналов из-за файла блокировки server.log.lck
Путь -> C: \ glassfish4 \ GlassFish \ домены \ domain1 \ Config \ logging.properties com.sun.enterprise.server.logging.GFFileHandler.maxHistoryFiles = 10
Вход сниппетов:
[2014-12-10T18:00:39.372+0900] [glassfish 4.0] [SEVERE] [] [] [tid: _ThreadID=16 _ThreadName=Thread-5] [timeMillis: 1418202039372] [levelValue: 1000] [[
java.util.logging.ErrorManager: 0: FATAL ERROR: COULD NOT DELETE LOG FILE.]]
[2014-12-10T18:00:39.372+0900] [glassfish 4.0] [SEVERE] [] [] [tid: _ThreadID=16 _ThreadName=Thread-5] [timeMillis: 1418202039372] [levelValue: 1000] [[
java.io.IOException: Could not delete log file: C:\glassfish4\glassfish\domains\domain1\logs\server.log.lck
at com.sun.enterprise.server.logging.GFFileHandler.cleanUpHistoryLogFiles(GFFileHandler.java:725)
at com.sun.enterprise.server.logging.GFFileHandler$4.run(GFFileHandler.java:802)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.enterprise.server.logging.GFFileHandler.rotate(GFFileHandler.java:744)
at com.sun.enterprise.server.logging.GFFileHandler$1.run(GFFileHandler.java:301)
at com.sun.enterprise.server.logging.LogRotationTimerTask.run(LogRotationTimerTask.java:68)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)]]
Выводы:
1, если файл блокировка «server.log.lck» существует в папке журнала, проблема произошла, и может найти вышеупомянутые ошибки в журнале каждый день, когда сервер пытается Glassfish удалите старые файлы журналов. Если в папке журнала нет «server.log.lck», никаких проблем и работы не будет.
2, Если экземпляр DAS запускается командой «asadmin start-domain domain1», в файле журнала не создается файл блокировки «server.log.lck». Но если экземпляр DAS запущен в службе Windows, файл блокировки «server.log.lck» будет сгенерирован автоматически и останется 0KB до остановки службы, этот файл будет удален автоматически.
3, Если экземпляр DAS запускается командой «asadmin start-domain -w domain1», которая добавляет параметр сторожевого таймера, файл блокировки «server.log.lck» будет генерироваться автоматически и существовать до тех пор, пока не остановится служба ,
4 Когда появляется файл блокировки «server.log.lck», всегда существует еще один процесс java.exe. Поэтому при запуске экземпляра DAS из службы Windows в этом процессе выполняется два «java.exe», и один из них использует «server.log.lck».
Вопросы:
1, я хотел бы, чтобы начать/остановить экземпляр DAS с помощью службы Windows, не используя субкоманду. Более того, я не хочу, чтобы все журналы Glassfish были на моем сервере, и это вызовет полную проблему с диском, поэтому я предпочту включить параметр «Файлы истории журнала Glassfish Maximum History History». Есть ли какое-либо решение или решение для этого?
2, Является ли это дефектом Glassfish или это проблема с настройкой? Я попытался установить на другие серверы, и у всех была такая же проблема.
3, Почему существует два процесса java.exe, запущенных при запуске с Windows Server, является вторым, используемым для «сторожевого таймера»?
Благодарим вас за помощь и сообщите мне, есть ли какая-либо дополнительная информация, которую вы хотели бы знать, или хотите, чтобы я сделал некоторые другие тесты.