Я ищу общий обратный эквивалент ShutdownHook в Java Runtime, то есть что-то вроде StartupHook, где может быть выполнен определенный пользовательский код разминки или настройки при запуске JVM.Есть ли обратный эквивалент Java Runtime ShutdownHook i.e StartupHook?
Я знаю об альтернативах, таких как использование ServletContexts и т. Д. При запуске контейнеров сервлетов или подобных подобных функциях в других средах, таких как Spring и т. Д. Но это не то, что я ищу. Я ищу общее решение JVM, если оно доступно.
Пожалуйста, дайте мне знать, если бы вся идея StartupHook была бы нецелесообразной для JVM и почему.
Update: После прохождения всех ответов (спасибо всем), кажется, что ближе всего к тому, что я ищу является Java Agents.
Хотя было бы неплохо (от простоты в использовании точки зрения, но, вероятно, не с точки зрения безопасности), если виртуальная машина позволяет мне сделать что-то вроде этого:
- Написать класс который реализует StartUpHook только один метод - пустое preMain()
- Поместить этот класс в файл банки и поставить эту банку в путь к классам или каталог JRE расширений
- Когда JVM запускается, он выглядит для всех классов в пути к классам который реализует StartUpHook, а затем вызывает его метод preMain().
Как бы вы добавили пусковой крючок? –
Через некоторую опцию командной строки JRE, я полагаю? Как -Dproperty = значение? – tsaixingwei