2011-10-13 3 views
0

Я использую весной в автономном веб-приложения, а это значит, что нет контейнера сервлетов, а она работает в виртуальной машины Java машины:процесс Java для уведомления о завершении загрузки пружинный оболочки

public class A { 
    public static void main(String[] args) throws Exception {  
     AbstractApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); 
     context.registerShutdownHook(); 
    } 
} 

После сборки я запустить его от Баш оболочки, как это, для простоты будем называть его обработать «основной» и цифра, что она работает в сценарии оболочки:

[email protected]$ java A 

Эта команда запускает JVM и выполняет основную функцию выше в " основного "процесса, эта основная функция никогда не возвращается и, таким образом:

  1. Мне трудно понять, как процесс будет уведомлять оболочку из любого события весной. Я использую jmx для мониторинга процесса , и мне нужна оболочка, чтобы знать о завершении весенней загрузки для , она используется для запуска других процессов, которые зависят от этого процесса. «main» и скрипт bash.
  2. Сценарий, в котором начинается процесс , не может продолжаться.

Для точки 2, очевидный ответ:

[email protected]$ java A & 

ли ничего не строить, так как Eventhough сценарий может продолжаться, я не могу уведомить оболочку, когда пружина закончена для загрузки.

Заранее спасибо.

ответ

0

Почему этого недостаточно, чтобы вывести что-то на консоль после того, как ваше приложение будет готово? Кроме того, вы можете подключиться через jmx сразу после запуска java-процесса, тогда вы можете отслеживать jmx-компоненты.

+0

Я думаю, что это единственное решение, если я хочу продолжить сценарий: поставьте процесс в фоновом режиме, и следующий процесс в скрипте будет читаться в консоли до тех пор, пока мой журнал процессов не будет готов. В любом случае, я думаю, что я должен переделать все это, чтобы использовать java-процесс для организации всей инициализации вместо сценария оболочки. – user311174

+0

Да, вы правы. BTW, в настоящее время я изучаю новейший JBossAS 7, он имеет режим доменного домена и выглядит так, что он позволяет организовывать кучу java-приложений даже среди нескольких компьютеров. Но не уверен, насколько это хорошо. – kan

Смежные вопросы