|
|
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
можем ли мы инжектить локальный ежб в сервлет. допустим у нас есть еар модуль содержащий ежб модуль и вар модуль, можем ли мы в сервлетах из вар модуля инжектить локальные ежб из ежб модуля? интересует что говорит спецификация по этому поводу, сам не могу найти... спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 13:40:47 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
Вроде можно, но не уверен в какой версии JEE. Вроде совсем недавно планировали добавить. Servlets 3.0 надо глянуть. Там же всё на аннотациях. Поидее CDI тогда должен работать тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 14:04:35 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
BlazkowiczВроде можно, но не уверен в какой версии JEE. Вроде совсем недавно планировали добавить. Servlets 3.0 надо глянуть. Там же всё на аннотациях. Поидее CDI тогда должен работать тоже. анатации это не ключевой момент, можно и через жндй, главноне нличие\отсутствие самой такой возможности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 14:10:10 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
OOsalivanанатации это не ключевой момент, можно и через жндй, главноне нличие\отсутствие самой такой возможности. При чем здесь JNDI? Это уже Service Locator. Он всегда работал. Вы же спрашивали про "инжект"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 14:17:22 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
BlazkowiczOOsalivanанатации это не ключевой момент, можно и через жндй, главноне нличие\отсутствие самой такой возможности. При чем здесь JNDI? Это уже Service Locator. Он всегда работал. Вы же спрашивали про "инжект"? можетдействительно не коректно выразился. интересует можем ли мы использовать локал ежб из сервлетов в рамках одного еар? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 14:26:14 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
OOsalivanможем ли мы использовать локал ежб из сервлетов в рамках одного еар? Да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 14:29:47 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
eros2, тогда такой вопрос, как у нас воспринимаеться сервлет в ежб контейнере в рамках такого взаимодействия. если мы в сервлете будем создавать новые потоки, это нормально? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 14:54:55 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
OOsalivanтогда такой вопрос, как у нас воспринимаеться сервлет в ежб контейнере в рамках такого взаимодействия. если мы в сервлете будем создавать новые потоки, это нормально? Сложный вопрос. Надо пробовать на конкретном сервере. С одной стороны сервер может разрулить всё через банальные прокси. С другой стороны он может закладыватся и на потоки сервлета. Поэтому что станется с транзакциями предсказать сложно. А зачем вам потоки в сервлете? JMS не вариант? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 14:57:56 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
безусловно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 15:03:39 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
автортогда такой вопрос, как у нас воспринимаеться сервлет в ежб контейнере в рамках такого взаимодействия. если мы в сервлете будем создавать новые потоки, это нормально? EJB-рантайм понятия не имеет ни о каких сервлетах, поэтому ему по барабану что вы будете создавать потоки, или вы имеете ввиду что будете создавать поток внутри заинжектоннаго EJB? Если да - то при чем тут уже сервлет, если все будет обрабатываться в EJB-рантайме? И да, потоки стараюсь создавать в крайнем случае, так что рассмотрите вариант JMS, и если не секрет расскажите все же зачем вам потки внутри Servlet? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 15:06:28 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
забыл никбезусловно Что именно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 15:06:48 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
авторможем ли мы использовать локал ежб из сервлетов в рамках одного еар? безусловно, я просто перед тем как писать ответ отошел, а там еще новые появились ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 15:15:09 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
забыл никEJB-рантайм понятия не имеет ни о каких сервлетах, поэтому ему по барабану что вы будете создавать потоки Не совсем. EJB-рантайм привязывает контекст вызова к потоку. Если этот поток был создан сервлетом, то контейнер нормально к нему должен привязать данные. Если этот поток создан вручную, то контекста вызова уже может не быть в контейнере. Вопрос ведь про Local EJB. Хотя принципиально эту проблему можно разрешить, и не исключено, что на некоторых новых серверах всё будет работать нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 15:21:55 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
забыл никавтортогда такой вопрос, как у нас воспринимаеться сервлет в ежб контейнере в рамках такого взаимодействия. если мы в сервлете будем создавать новые потоки, это нормально? EJB-рантайм понятия не имеет ни о каких сервлетах, поэтому ему по барабану что вы будете создавать потоки, или вы имеете ввиду что будете создавать поток внутри заинжектоннаго EJB? Если да - то при чем тут уже сервлет, если все будет обрабатываться в EJB-рантайме? И да, потоки стараюсь создавать в крайнем случае, так что рассмотрите вариант JMS, и если не секрет расскажите все же зачем вам потки внутри Servlet? мне не к чему, я разбираюсь с чужим кодом, и там часть логики вынесена в сервлеты, притом в них есть приватные поля, которые при инициализаци сервлета лукапяться локальными бинами, а в методе сервис создаються потоки которые используют проинициализированые ране поля [бины], мне показался такой способ страным, и поэтому хочу узнать нет ли здесь подводных камней, и как вообще вам такая практика использования ежб? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 16:25:28 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
OOsalivanмне не к чему, я разбираюсь с чужим кодом, и там часть логики вынесена в сервлеты, притом в них есть приватные поля, которые при инициализаци сервлета лукапяться локальными бинами, а в методе сервис создаються потоки которые используют проинициализированые ране поля [бины], мне показался такой способ страным, и поэтому хочу узнать нет ли здесь подводных камней, и как вообще вам такая практика использования ежб? По-моему это тот самый случай, в котором не рекомендуется создавать собственные потоки. А EJB stateful? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 16:32:38 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
забыл никавтортогда такой вопрос, как у нас воспринимаеться сервлет в ежб контейнере в рамках такого взаимодействия. если мы в сервлете будем создавать новые потоки, это нормально? EJB-рантайм понятия не имеет ни о каких сервлетах, поэтому ему по барабану что вы будете создавать потоки, или вы имеете ввиду что будете создавать поток внутри заинжектоннаго EJB? Если да - то при чем тут уже сервлет, если все будет обрабатываться в EJB-рантайме? И да, потоки стараюсь создавать в крайнем случае, так что рассмотрите вариант JMS, и если не секрет расскажите все же зачем вам потки внутри Servlet? в даном случае исходя из кода,созданые в сервлете потоки юзают проинициализироавнные ранее бины для того чтобы через них модифицировать базу и работать с файловой системой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 16:35:02 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
Blazkowicz По-моему это тот самый случай, в котором не рекомендуется создавать собственные потоки. А EJB stateful? нет все бины Stateless ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 16:37:20 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
OOsalivanв даном случае исходя из кода,созданые в сервлете потоки юзают проинициализироавнные ранее бины для того чтобы через них модифицировать базу и работать с файловой системой С файловой системой через IO работают? Т.е. транзакционность, в целом, хлипкая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 16:38:05 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
BlazkowiczС файловой системой через IO работают? Т.е. транзакционность, в целом, хлипкая. в общем да, но там есть дополнительный код для реализации транзакций, я пока с этим не разобрался. можно пока от этого абстрогироваться, мне больше интересно какие потенциальные проблемы могут возникнуть при работе с ежб бинами из собственных потоков? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 16:44:36 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
OOsalivanв общем да, но там есть дополнительный код для реализации транзакций, я пока с этим не разобрался. можно пока от этого абстрогироваться, мне больше интересно какие потенциальные проблемы могут возникнуть при работе с ежб бинами из собственных потоков? А посмотрите в дебаге, если там для локальных вызовов всё равно используется Proxy локального интерфейса, а не экземпляр бина, то я думаю проблем никаких не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 17:01:34 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
авторв общем да, но там есть дополнительный код для реализации транзакций, я пока с этим не разобрался. можно пока от этого абстрогироваться, мне больше интересно какие потенциальные проблемы могут возникнуть при работе с ежб бинами из собственных потоков? В большинстве случаев все будет ок, просто надо четко представлять что происходит. Основные проблемы с запуском собственных потоков - это то, что их жизненным циклом придется управлять самому, в принципе если инициализировать в сервлете, делать их 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 17:12:13 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
авторА посмотрите в дебаге, если там для локальных вызовов всё равно используется Proxy локального интерфейса, а не экземпляр бина, то я думаю проблем никаких не будет. А вот это я и имел ввиду, когда говорил, что авторEJB-рантайм понятия не имеет ни о каких сервлетах, поэтому ему по барабану что вы будете создавать потоки, или вы имеете ввиду что будете создавать поток внутри заинжектоннаго EJB? Если да - то при чем тут уже сервлет, если все будет обрабатываться в EJB-рантайме? И да, потоки стараюсь создавать в крайнем случае, так что рассмотрите вариант JMS, и если не секрет расскажите все же зачем вам потки внутри Servlet? Неясно сегодня выражаюсь, к сожалению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 17:13:38 |
|
||
|
EJB3 local bean access in servlet
|
|||
|---|---|---|---|
|
#18+
забыл ник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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2012, 17:22:21 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37691682&tid=2132402]: |
0ms |
get settings: |
15ms |
get forum list: |
23ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
53ms |
get topic data: |
21ms |
get forum data: |
5ms |
get page messages: |
112ms |
get tp. blocked users: |
3ms |
| others: | 344ms |
| total: | 590ms |

| 0 / 0 |
