Разработка приложения для параллельных вычислений с использованием Java Web/Java EE

Мой вопрос связан с моим другим вопросом отсюда.

Я хотел бы знать, каков будет наилучший (или любой) подход для решения очень сложных вычислительных задач, которые могут параллельно выполняться в веб-приложениях Java? В моем предыдущем вопросе было сказано, что из-за спецификаций Java EE/web java строго запрещено создавать и использовать свои собственные потоки (это действительно возможно, но требует использования трюков, и делать это не рекомендуется).

Я думал об этом, и, поскольку все веб-приложения сами по себе являются многопоточными, единственный способ, который приходит мне в голову, - это каким-то образом преобразовать мою вычислительную задачу в мультизапрос, поэтому каждый запрос будет выполнять свою работу (возможно, с помощью JMS?). Но, на самом деле, я не уверен, что этого вообще можно достичь (посылая запрос самим себе:)). Так может ли кто-нибудь сказать мне, как я должен решать такие проблемы в будущем (или это вообще возможно)?

РЕДАКТИРОВАТЬ: Должен спросить, я публикую пример:

Давайте предположим, что у нас есть проблема, которую можно решить с помощью эвристики, например, генетического алгоритма. Этот алгоритм может быть оценен во многих потоках, поэтому мы хотели бы использовать параллельное программирование. Однако нам нужно сделать его веб-приложением, потому что все должно быть доступно из веб-браузера, и мы хотим, чтобы все было в одном приложении (поэтому алгоритм должен быть встроен в наше веб-приложение).

Хорошо, я знаю, что мы можем сделать это как отдельное приложение и использовать JMX,WebServices или другие для удаленного управления им, но я хотел бы знать, можем ли мы реализовать это как одно веб-приложение.

1 ответ

Многопоточность в EE будет нарушать другие приложения, работающие в контейнере, как указано в другом посте. Простое решение - использовать отдельную JVM на другом компьютере и получать к ней доступ с помощью удаленных вызовов процедур (RMI - это просто.) Таким образом, вы можете делать все, что захотите, без ограничений.

Другие вопросы по тегам