Вызов приложения с веб-сервера асинхронно - PullRequest
2 голосов
/ 02 апреля 2012

У меня есть веб-приложение, созданное на Spring, которое работает на Tomcat. На этой же машине есть обычное Java-приложение.

Я хотел бы выполнить приложение Java, вызвав его с веб-сервера, но я хочу сделать так, чтобы приложение не использовало ресурсы сервера (это включает в себя обучение классификатора, поэтому оно может занять много времени) ресурсов и времени) и он не должен зависать на сервере (поэтому он должен вызываться асинхронно).

Есть ли способ сделать это?

Ответы [ 3 ]

3 голосов
/ 02 апреля 2012

У вас есть две опции.

  1. Запустите отдельный экземпляр JVM, выполнив exec и используя команду java.

  2. Создайте новый поток - он будет использовать ресурсы сервера.

Вы также можете объединить варианты 1 и 2 и создать поток, который выполняет вызов exec.

2 голосов
/ 02 апреля 2012

Да, с веб-сервера зарегистрируйте обратный вызов RMI с помощью автономного приложения Java.

Когда веб-приложение запрашивает автономное приложение, это будет синхронный вызов и не займет много времени.Однажды, когда автономное приложение будет готово с результатами, оно вызовет веб-приложение с помощью обратного вызова RMI.

1 голос
/ 02 апреля 2012

В вашем Java-приложении создайте поток и выполните код для него. Приложение Java вернет вызов веб-серверу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...