2016-01-27 2 views
0

У меня возникает проблема, когда требуется очень долгое время (10 секунд или около того), чтобы пройти через мою установку ANT и запустить приложение java. Это задержит экран заставки для jvm не менее чем на 10 секунд, чтобы отобразиться. К сожалению, я не могу отойти от ANT, чтобы запустить приложение из-за определенных ограничений. То, что я хотел бы сделать, и задавался вопросом, есть ли у кого-то лучшее решение, - создать небольшое приложение с заставкой, которое будет иметь заставку в качестве аргумента для JVM, чтобы он быстро отображался, а затем использовал Runtime .getRuntime(). exec ("wscript ....), чтобы запустить другое приложение. Моя проблема заключается в том, как убить первое приложение.Приложение Java Splash Screen

Что я думал делать с помощью jps в другом приложении, чтобы получить PID для класса, который отпустил приложение, а затем уничтожил процесс (у первого приложения также был бы таймер, чтобы избежать его останова, если второе приложение не запустилось по какой-либо причине). Я должен сказать, что существует ограничение, которое основное приложение (второе приложение) можно запускать только один раз, и у меня есть решение для связывания, чтобы избежать этого. Мне было интересно, есть ли лучший способ прервать первое применение п. Должен ли я использовать RMI или другой способ сообщить программе о выходе? Если возможно, тем меньше сетей, тем лучше.

+0

Вы действительно планируете развернуть приложение с включенным ANT? Требование – EJP

+0

да, это очень странно. Я также изучаю, можем ли мы удалить требование муравья для того, для чего мы его использовали, и каким-то образом заменить его. спасибо! – duxburyfarmall

ответ

0

в первом приложении (приложение выплеска) создать сокет-сервер с портом XXX и слушать для входящих сообщений, и поштучно кода прекратить себя (например, System.exit();) при получении сообщения, и в своем втором приложении (когда он встал) отправьте сообщение в порт XXX. вы также можете реализовать похожий сценарий с использованием файлов. (1-е приложение периодически проверяет определенные выходные файлы и когда обнаруживает, что файл существует, он завершается, 2-е приложение генерирует этот конкретный файл, когда он встает ...

+0

Да, это то, что я собирался сделать, просто было любопытно, если бы был другой способ сделать это, не используя порты и т. Д. Я нашел способ сделать это с помощью jps, чтобы убить задачу, если я хочу идти этим путем. Я проверю пару разных способов и решит, как я думаю, будет работать лучше всего. Спасибо. – duxburyfarmall

2

Не будет ли цель муравья Splash выполнить трюк?

Эта задача создает заставку. Экран заставки отображается на время сборки и включает в себя удобный индикатор выполнения.

+0

Интересно. Я не настолько мучен. всплеск исчезнет, ​​как только муравей будет сделан, но приложение все равно не будет работать и запущено, так как для запуска приложения требуется много времени, мы также работаем над этим аспектом, я проверю это, чтобы увидеть, есть ли заметное мерцание на экране заставки от муравья до jvm. спасибо за мысль, и я попробую. – duxburyfarmall

+0

да, это не делало то, что я искал. между двумя заставками есть заметное мерцание. – duxburyfarmall

+0

Рад, что я мог помочь. – mstrok