Я пишу JAVA EE-приложение с помощью Struts и Spring. В одной из операций существует тяжелая обработка базы данных и следовательно проблемы производительности. То, что я хочу знать, является банкой, я использую многопоточность здесь? Я думаю Java, спецификация EE не позволяет пользовательским потокам быть созданными кроме созданных Сервером (я использую Weblogic). Ведите меня через это.
Этот вопрос возникает время от времени.
В соответствии со спецификацией это не разрешено. Лучше всего посмотреть вот эту страницу: Q/A: J2EE Restrictions
Тем не менее, есть способы порождать потоки, особенно в Weblogic с WorkManager
.
Смотрите эти вопросы:
Тот факт, что первый вопрос касается EJB, не должен иметь большого значения, а последний о доступе к файловой системе относится к общим ограничениям.
Надеюсь, это поможет.
Эти ограничения существуют в основном потому, что Java EE и EJB хотят поддерживать прозрачную кластеризацию. Например, один сервер кластера не должен изменять файлы, потому что эти изменения не могут быть легко отражены на других серверах. Для потоков возникает вопрос, должен ли быть один поток на кластер или на сервер. Эти потоки также не могут быть легко отслежены сервером приложений.
При этом должна быть возможность создавать потоки, соединения сокетов или обращаться к файловой системе на сервере Java EE, как в обычном приложении.