powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / EJB3 local bean access in servlet
23 сообщений из 23, страница 1 из 1
EJB3 local bean access in servlet
    #37691471
OOsalivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можем ли мы инжектить локальный ежб в сервлет. допустим у нас есть еар модуль содержащий ежб модуль и вар модуль, можем ли мы в сервлетах из вар модуля инжектить локальные ежб из ежб модуля? интересует что говорит спецификация по этому поводу, сам не могу найти... спасибо
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691531
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вроде можно, но не уверен в какой версии JEE. Вроде совсем недавно планировали добавить. Servlets 3.0 надо глянуть. Там же всё на аннотациях. Поидее CDI тогда должен работать тоже.
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691541
OOsalivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczВроде можно, но не уверен в какой версии JEE. Вроде совсем недавно планировали добавить. Servlets 3.0 надо глянуть. Там же всё на аннотациях. Поидее CDI тогда должен работать тоже.

анатации это не ключевой момент, можно и через жндй, главноне нличие\отсутствие самой такой возможности.
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691566
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OOsalivanанатации это не ключевой момент, можно и через жндй, главноне нличие\отсутствие самой такой возможности.
При чем здесь JNDI? Это уже Service Locator. Он всегда работал. Вы же спрашивали про "инжект"?
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691586
OOsalivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczOOsalivanанатации это не ключевой момент, можно и через жндй, главноне нличие\отсутствие самой такой возможности.
При чем здесь JNDI? Это уже Service Locator. Он всегда работал. Вы же спрашивали про "инжект"?

можетдействительно не коректно выразился. интересует можем ли мы использовать локал ежб из сервлетов в рамках одного еар?
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691597
eros2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OOsalivanможем ли мы использовать локал ежб из сервлетов в рамках одного еар? Да.
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691661
OOsalivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eros2,

тогда такой вопрос, как у нас воспринимаеться сервлет в ежб контейнере в рамках такого взаимодействия. если мы в сервлете будем создавать новые потоки, это нормально?
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691667
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OOsalivanтогда такой вопрос, как у нас воспринимаеться сервлет в ежб контейнере в рамках такого взаимодействия. если мы в сервлете будем создавать новые потоки, это нормально?
Сложный вопрос. Надо пробовать на конкретном сервере. С одной стороны сервер может разрулить всё через банальные прокси. С другой стороны он может закладыватся и на потоки сервлета. Поэтому что станется с транзакциями предсказать сложно.
А зачем вам потоки в сервлете? JMS не вариант?
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691682
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
безусловно
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691691
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автортогда такой вопрос, как у нас воспринимаеться сервлет в ежб контейнере в рамках такого взаимодействия. если мы в сервлете будем создавать новые потоки, это нормально?

EJB-рантайм понятия не имеет ни о каких сервлетах, поэтому ему по барабану что вы будете создавать потоки, или вы имеете ввиду что будете создавать поток внутри заинжектоннаго EJB? Если да - то при чем тут уже сервлет, если все будет обрабатываться в EJB-рантайме? И да, потоки стараюсь создавать в крайнем случае, так что рассмотрите вариант JMS, и если не секрет расскажите все же зачем вам потки внутри Servlet?
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691693
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никбезусловно
Что именно?
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691714
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторможем ли мы использовать локал ежб из сервлетов в рамках одного еар?
безусловно, я просто перед тем как писать ответ отошел, а там еще новые появились
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691727
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никEJB-рантайм понятия не имеет ни о каких сервлетах, поэтому ему по барабану что вы будете создавать потоки
Не совсем. EJB-рантайм привязывает контекст вызова к потоку. Если этот поток был создан сервлетом, то контейнер нормально к нему должен привязать данные. Если этот поток создан вручную, то контекста вызова уже может не быть в контейнере. Вопрос ведь про Local EJB. Хотя принципиально эту проблему можно разрешить, и не исключено, что на некоторых новых серверах всё будет работать нормально.
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691846
OOsalivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никавтортогда такой вопрос, как у нас воспринимаеться сервлет в ежб контейнере в рамках такого взаимодействия. если мы в сервлете будем создавать новые потоки, это нормально?

EJB-рантайм понятия не имеет ни о каких сервлетах, поэтому ему по барабану что вы будете создавать потоки, или вы имеете ввиду что будете создавать поток внутри заинжектоннаго EJB? Если да - то при чем тут уже сервлет, если все будет обрабатываться в EJB-рантайме? И да, потоки стараюсь создавать в крайнем случае, так что рассмотрите вариант JMS, и если не секрет расскажите все же зачем вам потки внутри Servlet?

мне не к чему, я разбираюсь с чужим кодом, и там часть логики вынесена в сервлеты, притом в них есть приватные поля, которые при инициализаци сервлета лукапяться локальными бинами, а в методе сервис создаються потоки которые используют проинициализированые ране поля [бины], мне показался такой способ страным, и поэтому хочу узнать нет ли здесь подводных камней, и как вообще вам такая практика использования ежб?
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691857
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OOsalivanмне не к чему, я разбираюсь с чужим кодом, и там часть логики вынесена в сервлеты, притом в них есть приватные поля, которые при инициализаци сервлета лукапяться локальными бинами, а в методе сервис создаються потоки которые используют проинициализированые ране поля [бины], мне показался такой способ страным, и поэтому хочу узнать нет ли здесь подводных камней, и как вообще вам такая практика использования ежб?
По-моему это тот самый случай, в котором не рекомендуется создавать собственные потоки. А EJB stateful?
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691864
OOsalivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никавтортогда такой вопрос, как у нас воспринимаеться сервлет в ежб контейнере в рамках такого взаимодействия. если мы в сервлете будем создавать новые потоки, это нормально?

EJB-рантайм понятия не имеет ни о каких сервлетах, поэтому ему по барабану что вы будете создавать потоки, или вы имеете ввиду что будете создавать поток внутри заинжектоннаго EJB? Если да - то при чем тут уже сервлет, если все будет обрабатываться в EJB-рантайме? И да, потоки стараюсь создавать в крайнем случае, так что рассмотрите вариант JMS, и если не секрет расскажите все же зачем вам потки внутри Servlet?

в даном случае исходя из кода,созданые в сервлете потоки юзают проинициализироавнные ранее бины для того чтобы через них модифицировать базу и работать с файловой системой
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691870
OOsalivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz По-моему это тот самый случай, в котором не рекомендуется создавать собственные потоки. А EJB stateful?
нет все бины Stateless
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691873
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OOsalivanв даном случае исходя из кода,созданые в сервлете потоки юзают проинициализироавнные ранее бины для того чтобы через них модифицировать базу и работать с файловой системой
С файловой системой через IO работают? Т.е. транзакционность, в целом, хлипкая.
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691882
OOsalivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczС файловой системой через IO работают? Т.е. транзакционность, в целом, хлипкая.
в общем да, но там есть дополнительный код для реализации транзакций, я пока с этим не разобрался. можно пока от этого абстрогироваться, мне больше интересно какие потенциальные проблемы могут возникнуть при работе с ежб бинами из собственных потоков?
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691920
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OOsalivanв общем да, но там есть дополнительный код для реализации транзакций, я пока с этим не разобрался. можно пока от этого абстрогироваться, мне больше интересно какие потенциальные проблемы могут возникнуть при работе с ежб бинами из собственных потоков?
А посмотрите в дебаге, если там для локальных вызовов всё равно используется Proxy локального интерфейса, а не экземпляр бина, то я думаю проблем никаких не будет.
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691946
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторв общем да, но там есть дополнительный код для реализации транзакций, я пока с этим не разобрался. можно пока от этого абстрогироваться, мне больше интересно какие потенциальные проблемы могут возникнуть при работе с ежб бинами из собственных потоков?

В большинстве случаев все будет ок, просто надо четко представлять что происходит. Основные проблемы с запуском собственных потоков - это то, что их жизненным циклом придется управлять самому, в принципе если инициализировать в сервлете, делать их Daemon, и убивать в методе destroy, то ничего страшного не случится.
Вот тут пишут, что в кастомном треде не будет работать лукап datasource и jmsFactory, но так как вы в поток передаете proxy, уже проинициализированное, то я практически уверен что все будет ок, но вот если вдруг вам захочется добавить код динамического лукапа, то он скорее всего обрыгается, а так как у вас все зависимости инжектятся при запуске сервлета, то все должно быть хорошо.

Но, как уже сказали это все-таки bad practice, взять хотя бы то, что каждый кто будет работать с этим кодом, должен знать все тонкости(ну вот вы например), так что лучше этот код отрефакторить. Варианты следующие -
1) Использовать jms
2) Использовать quartz
3) Использовать проприетарное API по создание managed threads. Вот пример для WebSphere\WebLogic - http://www.ibm.com/developerworks/library/specification/j-commonj-sdowmt/index.html
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691951
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА посмотрите в дебаге, если там для локальных вызовов всё равно используется Proxy локального интерфейса, а не экземпляр бина, то я думаю проблем никаких не будет.
А вот это я и имел ввиду, когда говорил, что
авторEJB-рантайм понятия не имеет ни о каких сервлетах, поэтому ему по барабану что вы будете создавать потоки, или вы имеете ввиду что будете создавать поток внутри заинжектоннаго EJB? Если да - то при чем тут уже сервлет, если все будет обрабатываться в EJB-рантайме? И да, потоки стараюсь создавать в крайнем случае, так что рассмотрите вариант JMS, и если не секрет расскажите все же зачем вам потки внутри Servlet?

Неясно сегодня выражаюсь, к сожалению.
...
Рейтинг: 0 / 0
EJB3 local bean access in servlet
    #37691976
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник1) Использовать jms
2) Использовать quartz
3) Использовать проприетарное API по создание managed threads. Вот пример для WebSphere\WebLogic - http://www.ibm.com/developerworks/library/specification/j-commonj-sdowmt/index.html
4) http://docs.oracle.com/javaee/6/api/javax/resource/spi/work/WorkManager.html
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / EJB3 local bean access in servlet
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]