powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / EJB Inject
15 сообщений из 15, страница 1 из 1
EJB Inject
    #39309876
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читаю тут книгу про EJB

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Вызов с использованием CDI
Как вы только что видели, для вызова метода в EJB-компоненте требуется только
аннотация @EJB , позволяющая внедрить ссылку в клиентский код. Все довольно
просто: вы получаете ссылку во время развертывания. Однако @EJB не обеспечива-
ет, например, чего-то подобного CDI-альтернативам. Взамен вам придется исполь-
зовать аннотацию @Inject .
В большинстве случаев вы можете просто заменять @EJB аннотацией @Inject ,
и ваш клиентский код будет работать. Сделав это, вы получите все преимущества
CDI, которые видели в главе 2. Таким образом, если мы обратимся к приведенным
ранее примерам, то вот как обеспечивалось бы EJB-внедрение с использованием
CDI в случае с клиентом:
...
@Inject ItemEJB itemEJB;
@Inject ItemLocal itemEJBLocal;
@Inject ItemRemote itemEJBRemote;
В случае с удаленными EJB-компонентами, как вы только что видели, вам может
потребоваться JNDI-строка для их поиска. Аннотация @Inject не может обладать
строковым параметром, так что при этом вам придется создать удаленный EJB-
компонент, чтобы вы смогли внедрить его:
...
В зависимости от клиентской среды у вас может отсутствовать возможность
использовать внедрение (если компонент не управляется контейнером). В этом
случае попробуйте обратиться к JNDI для поиска сессионных EJB-компонентов
с помощью их переносимых JNDI-имен.




Собственно вопрос
Это просто


@EJB(lookup = "java:global/example.services-1.0/core-1.0/ISprk!com.example.INsiSprk")
ItemEJB itemEJB;

заменить на

@Inject
ItemEJB itemEJB; ?
...
Рейтинг: 0 / 0
EJB Inject
    #39310113
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смотря куда инжектить, если в рамках одного jar то да. Если в веб, или другое приложение, возможно нужен ремоут лукап
...
Рейтинг: 0 / 0
EJB Inject
    #39310236
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никсмотря куда инжектить, если в рамках одного jar то да. Если в веб, или другое приложение, возможно нужен ремоут лукап
А если на сервере приложении есть

server.ear с EJB бинами
web.war

Я хочу использоваться в web.war бины приложения server, бины должны быть Remote или Local?
...
Рейтинг: 0 / 0
EJB Inject
    #39310254
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=Koba=-,
локал, ремоут это когда на другой JVM аппликэйшн сервер.
...
Рейтинг: 0 / 0
EJB Inject
    #39310327
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892-=Koba=-,
локал, ремоут это когда на другой JVM аппликэйшн сервер.

serber.ejb
Код: java
1.
2.
3.
4.
5.
@Stateless
public class CatalogueFacadeBean implements ICatalogueService {}

@Remote
public interface ICatalogueService {}



web.war
Код: java
1.
2.
3.
4.
public class CatalogueDetailsPage extends AbstractBasePage {
    @EJB(lookup = "java:global/mobile.bank.services-1.0.5/api.ejb-1.1/CatalogueFacadeBean!by.softclub.common.api.ICatalogueService")
    private ICatalogueService iCatalogueService;
}



Отрабатывает нормально, меняю Remote на Local (все находится на одном сервере приложений)

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
Caused by: com.sun.faces.spi.InjectionProviderException: java.lang.IllegalStateException: WFLYEE0042: Failed to construct component instance
	at org.jboss.as.jsf.injection.JSFInjectionProvider.invokePostConstruct(JSFInjectionProvider.java:70) [wildfly-jsf-injection-9.0.2.Final.jar:9.0.2.Final]
	at com.sun.faces.mgbean.BeanBuilder.invokePostConstruct(BeanBuilder.java:221) [jsf-impl-2.2.12-jbossorg-2.jar:2.2.12-jbossorg-2]
	... 71 more
Caused by: java.lang.IllegalStateException: WFLYEE0042: Failed to construct component instance
	at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:163)
	at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:134)
	at org.jboss.as.ee.component.BasicComponent.createInstance(BasicComponent.java:99)
	at org.jboss.as.ee.component.ComponentRegistry$ComponentManagedReferenceFactory.getReference(ComponentRegistry.java:171)
	at org.jboss.as.ee.component.ComponentRegistry.createInstance(ComponentRegistry.java:87)
	at org.jboss.as.web.common.WebInjectionContainer.newInstance(WebInjectionContainer.java:77)
	at org.jboss.as.jsf.injection.JSFInjectionProvider.invokePostConstruct(JSFInjectionProvider.java:68) [wildfly-jsf-injection-9.0.2.Final.jar:9.0.2.Final]
	... 72 more
Caused by: java.lang.IllegalArgumentException: Can not set by.softclub.common.api.ICatalogueService field by.softclub.abank.admin.ui.page.CatalogueDetailsPage.iCatalogueService to by.softclub.common.api.ICatalogueService$$$view83
	at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) [rt.jar:1.8.0_102]
	at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) [rt.jar:1.8.0_102]
	at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:81) [rt.jar:1.8.0_102]
	at java.lang.reflect.Field.set(Field.java:764) [rt.jar:1.8.0_102]
	at org.jboss.as.ee.component.ManagedReferenceFieldInjectionInterceptorFactory$ManagedReferenceFieldInjectionInterceptor.processInvocation(ManagedReferenceFieldInjectionInterceptorFactory.java:106)
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
	at org.jboss.as.ee.component.AroundConstructInterceptorFactory$1.processInvocation(AroundConstructInterceptorFactory.java:28)
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
	at org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45) [wildfly-ee-9.0.2.Final.jar:9.0.2.Final]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
	at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
	at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)
	at org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
	at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
	at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:161)
	... 78 more

15:13:45,648 ERROR [stderr] (default task-18) Caused by: java.lang.IllegalArgumentException: Can not set by.softclub.common.api.ICatalogueService field by.softclub.abank.admin.ui.page.CatalogueDetailsPage.iCatalogueService to by.softclub.common.api.ICatalogueService$$$view83
15:13:45,648 ERROR [stderr] (default task-18) 	at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167)
15:13:45,648 ERROR [stderr] (default task-18) 	at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171)
15:13:45,648 ERROR [stderr] (default task-18) 	at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:81)
15:13:45,648 ERROR [stderr] (default task-18) 	at java.lang.reflect.Field.set(Field.java:764)
15:13:45,648 ERROR [stderr] (default task-18) 	at org.jboss.as.ee.component.ManagedReferenceFieldInjectionInterceptorFactory$ManagedReferenceFieldInjectionInterceptor.processInvocation(ManagedReferenceFieldInjectionInterceptorFactory.java:106)
15:13:45,648 ERROR [stderr] (default task-18) 	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
15:13:45,648 ERROR [stderr] (default task-18) 	at org.jboss.as.ee.component.AroundConstructInterceptorFactory$1.processInvocation(AroundConstructInterceptorFactory.java:28)
15:13:45,650 ERROR [stderr] (default task-18) 	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
15:13:45,650 ERROR [stderr] (default task-18) 	at org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)
15:13:45,650 ERROR [stderr] (default task-18) 	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
15:13:45,651 ERROR [stderr] (default task-18) 	at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)
15:13:45,651 ERROR [stderr] (default task-18) 	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
15:13:45,651 ERROR [stderr] (default task-18) 	at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)
15:13:45,651 ERROR [stderr] (default task-18) 	at org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)
15:13:45,651 ERROR [stderr] (default task-18) 	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
15:13:45,651 ERROR [stderr] (default task-18) 	at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
15:13:45,651 ERROR [stderr] (default task-18) 	at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:161)
15:13:45,651 ERROR [stderr] (default task-18) 	... 78 more
15:13:45,651 SEVERE [org.primefaces.application.exceptionhandler.PrimeExceptionHandler] (default task-18) java.lang.IllegalStateException: WFLYEE0042: Failed to construct component instance: com.sun.faces.spi.InjectionProviderException: java.lang.IllegalStateException: WFLYEE0042: Failed to construct component instance
	at org.jboss.as.jsf.injection.JSFInjectionProvider.invokePostConstruct(JSFInjectionProvider.java:70) [wildfly-jsf-injection-9.0.2.Final.jar:9.0.2.Final]
	at com.sun.faces.mgbean.BeanBuilder.invokePostConstruct(BeanBuilder.java:221) [jsf-impl-2.2.12-jbossorg-2.jar:2.2.12-jbossorg-2]
	at com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:103) [jsf-impl-2.2.12-jbossorg-2.jar:2.2.12-jbossorg-2]
	at com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:409) [jsf-impl-2.2.12-jbossorg-2.jar:2.2.12-jbossorg-2]
	at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:269) [jsf-impl-2.2.12-jbossorg-2.jar:2.2.12-jbossorg-2]
	at com.sun.faces.el.ManagedBeanELResolver.resolveBean(ManagedBeanELResolver.java:257) [jsf-impl-2.2.12-jbossorg-2.jar:2.2.12-jbossorg-2]
	at com.sun.faces.el.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java:117) [jsf-impl-2.2.12-jbossorg-2.jar:2.2.12-jbossorg-2]
	at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176) [jsf-impl-2.2.12-jbossorg-2.jar:2.2.12-jbossorg-2]
	at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203) [jsf-impl-2.2.12-jbossorg-2.jar:2.2.12-jbossorg-2]
	at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:116) [javax.el-impl-3.0.1-b05-jbossorg-1.jar:3.0.1-b05-jbossorg-1]
	at com.sun.el.parser.AstValue.getBase(AstValue.java:151) [javax.el-impl-3.0.1-b05-jbossorg-1.jar:3.0.1-b05-jbossorg-1]
	at com.sun.el.parser.AstValue.getValue(AstValue.java:200) [javax.el-impl-3.0.1-b05-jbossorg-1.jar:3.0.1-b05-jbossorg-1]
	at com.sun.el.parser.AstNot.getValue(AstNot.java:63) [javax.el-impl-3.0.1-b05-jbossorg-1.jar:3.0.1-b05-jbossorg-1]
	at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:226) [javax.el-impl-3.0.1-b05-jbossorg-1.jar:3.0.1-b05-jbossorg-1]
	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109) [jsf-impl-2.2.12-jbossorg-2.jar:2.2.12-jbossorg-2]
	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194) [jboss-jsf-api_2.2_spec-2.2.12.jar:2.2.12]
	at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:458) [jboss-jsf-api_2.2_spec-2.2.12.jar:2.2.12]
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1850) [jboss-jsf-api_2.2_spec-2.2.12.jar:2.2.12]
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:176) [jboss-jsf-api_2.2_spec-2.2.12.jar:2.2.12]
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:890) [jboss-jsf-api_2.2_spec-2.2.12.jar:2.2.12]
	at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:81) [primefaces-5.0.jar:5.0]
	at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:68) [primefaces-5.0.jar:5.0]
	at org.primefaces.component.outputpanel.OutputPanelRenderer.encodeMarkup(OutputPanelRenderer.java:64) [primefaces-5.0.jar:5.0]
	at org.primefaces.component.outputpanel.OutputPanelRenderer.encodeEnd(OutputPanelRenderer.java:40) [primefaces-5.0.jar:5.0]
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920) [jboss-jsf-api_2.2_spec-2.2.12.jar:2.2.12]
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863) [jboss-jsf-api_2.2_spec-2.2.12.jar:2.2.12]
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859) [jboss-jsf-api_2.2_spec-2.2.12.jar:2.2.12]
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859) [jboss-jsf-api_2.2_spec-2.2.12.jar:2.2.12]
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:458) [jsf-impl-2.2.12-jbossorg-2.jar:2.2.12-jbossorg-2]
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:134) [jsf-impl-2.2.12-jbossorg-2.jar:2.2.12-jbossorg-2]
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337) [jboss-jsf-api_2.2_spec-2.2.12.jar:2.2.12]
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120) [jsf-impl-2.2.12-jbossorg-2.jar:2.2.12-jbossorg-2]
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [jsf-impl-2.2.12-jbossorg-2.jar:2.2.12-jbossorg-2]
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219) [jsf-impl-2.2.12-jbossorg-2.jar:2.2.12-jbossorg-2]
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:659) [jboss-jsf-api_2.2_spec-2.2.12.jar:2.2.12]
	at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:86) [undertow-servlet-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:130) [undertow-servlet-1.2.9.Final.jar:1.2.9.Final]
	at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:98) [primefaces-5.0.jar:5.0]
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60) [undertow-servlet-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132) [undertow-servlet-1.2.9.Final.jar:1.2.9.Final]
	at com.github.zhanhb.filter.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:55) [character-encoding-filter-2.1.6.4.jar:]
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60) [undertow-servlet-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132) [undertow-servlet-1.2.9.Final.jar:1.2.9.Final]
	at by.softclub.abank.admin.ui.faces.UrlFilter.doFilter(UrlFilter.java:118) [classes:]
	at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60) [undertow-servlet-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132) [undertow-servlet-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85) [undertow-servlet-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) [undertow-servlet-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) [undertow-servlet-1.2.9.Final.jar:1.2.9.Final]
	at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131) [undertow-servlet-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) [undertow-servlet-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) [undertow-core-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) [undertow-servlet-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58) [undertow-core-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:72) [undertow-servlet-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50) [undertow-core-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76) [undertow-core-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.2.9.Final.jar:1.2.9.Final]
	at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) [undertow-core-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:282) [undertow-servlet-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:261) [undertow-servlet-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:80) [undertow-servlet-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:172) [undertow-servlet-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:199) [undertow-core-1.2.9.Final.jar:1.2.9.Final]
	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:774) [undertow-core-1.2.9.Final.jar:1.2.9.Final]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_102]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_102]
	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_102]
Caused by: java.lang.IllegalStateException: WFLYEE0042: Failed to construct component instance
	at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:163)
	at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:134)
	at org.jboss.as.ee.component.BasicComponent.createInstance(BasicComponent.java:99)
	at org.jboss.as.ee.component.ComponentRegistry$ComponentManagedReferenceFactory.getReference(ComponentRegistry.java:171)
	at org.jboss.as.ee.component.ComponentRegistry.createInstance(ComponentRegistry.java:87)
	at org.jboss.as.web.common.WebInjectionContainer.newInstance(WebInjectionContainer.java:77)
	at org.jboss.as.jsf.injection.JSFInjectionProvider.invokePostConstruct(JSFInjectionProvider.java:68) [wildfly-jsf-injection-9.0.2.Final.jar:9.0.2.Final]
	... 72 more
Caused by: java.lang.IllegalArgumentException: Can not set by.softclub.common.api.ICatalogueService field by.softclub.abank.admin.ui.page.CatalogueDetailsPage.iCatalogueService to by.softclub.common.api.ICatalogueService$$$view83
	at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) [rt.jar:1.8.0_102]
	at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) [rt.jar:1.8.0_102]
	at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:81) [rt.jar:1.8.0_102]
	at java.lang.reflect.Field.set(Field.java:764) [rt.jar:1.8.0_102]
	at org.jboss.as.ee.component.ManagedReferenceFieldInjectionInterceptorFactory$ManagedReferenceFieldInjectionInterceptor.processInvocation(ManagedReferenceFieldInjectionInterceptorFactory.java:106)
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
	at org.jboss.as.ee.component.AroundConstructInterceptorFactory$1.processInvocation(AroundConstructInterceptorFactory.java:28)
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
	at org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45) [wildfly-ee-9.0.2.Final.jar:9.0.2.Final]
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
	at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
	at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:356)
	at org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)
	at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)
	at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
	at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:161)
	... 78 more



Почему не рaботает Local?
...
Рейтинг: 0 / 0
EJB Inject
    #39310418
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если меняешь с ремоута на локальный, то вот это
Код: java
1.
(lookup = "java:global/mobile.bank.services-1.0.5/api.ejb-1.1/CatalogueFacadeBean!by.softclub.common.api.ICatalogueService")

надо убирать, оставить просто EJB.
Опять же есть много зависит от:
-версии сервера
-архитектуры(например с Eclipse RAP какой-то версии помню дикие пляски с бубном и тп)
- от кода(хз что у вас там и как, может какие xml.
...
Рейтинг: 0 / 0
EJB Inject
    #39310451
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Походу local внутри одной JVM не прокатывает =(

http://stackoverflow.com/questions/5681197/access-a-local-session-bean-from-another-ear/5683436#5683436
...
Рейтинг: 0 / 0
EJB Inject
    #39310468
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=Koba=-Походу local внутри одной JVM не прокатывает =(
http://stackoverflow.com/questions/5681197/access-a-local-session-bean-from-another-ear/5683436#5683436
С точки зрения спеки, может, и не прокатывает. Но вендоры предоставляют кучу дополнительной функциональности. О чем там по ссылке сказано. Что за контейнер используется?
...
Рейтинг: 0 / 0
EJB Inject
    #39310471
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz-=Koba=-Походу local внутри одной JVM не прокатывает =(
http://stackoverflow.com/questions/5681197/access-a-local-session-bean-from-another-ear/5683436#5683436
С точки зрения спеки, может, и не прокатывает. Но вендоры предоставляют кучу дополнительной функциональности. О чем там по ссылке сказано. Что за контейнер используется?

Wildfly 9.0.2
...
Рейтинг: 0 / 0
EJB Inject
    #39310493
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прикольно, вот так вот плавно мы перешли наконец к тому что надо инжектнуть ejb с одного ear в другой?
...
Рейтинг: 0 / 0
EJB Inject
    #39310494
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В чем проблема выделить такие ejb в отдельное приложение и навернуть REST интерфейс поверх?
...
Рейтинг: 0 / 0
EJB Inject
    #39310513
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл никПрикольно, вот так вот плавно мы перешли наконец к тому что надо инжектнуть ejb с одного ear в другой?

Я же писал, что server.ear & web.war
@Remote работает, просто стало интересно почему с @Local такие проблемы

Еще вопрос, вот такой код для @Remote проходит
Код: java
1.
2.
3.
4.
public class CatalogueDetailsPage extends AbstractBasePage {
    @EJB(lookup = "java:global/mobile.bank.services-1.0.5/api.ejb-1.1/CatalogueFacadeBean!by.softclub.common.api.ICatalogueService")
    private ICatalogueService iCatalogueService;
}




Хотел бы заменить @EJB на @Inject
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
public class CatalogueDetailsPage extends AbstractBasePage {
    @Inject
    @EJBBean
    private ICatalogueService iCatalogueService;
}

@Stateless
public class EJBFactory {

    @EJB(lookup = "java:global/mobile.bank.services-1.0.5/api.ejb-
    protected ICatalogueService iCatalogueService;
 
   @Produces
   @EJBBean
   public ICatalogueService getiCatalogueService() {
        return iCatalogueService;
    }
}

@Qualifier
@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.TYPE, ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER })
public @interface EJBBean {

}

}




Почему-то получаю iCatalogueService java.lang.NullPointerException
...
Рейтинг: 0 / 0
EJB Inject
    #39311644
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может подсказать почему при инъекции applicationBean у меня null?

public_html\WEB-INF\faces-config.xml
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
<?xml version='1.0' encoding='UTF-8'?>
<faces-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              version="2.2"
              xmlns="http://xmlns.jcp.org/xml/ns/javaee"
              xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd">
    <application>
        <locale-config>
            <default-locale>ru</default-locale>
        </locale-config>

        <resource-bundle>
            <base-name>by.softclub.abank.admin.ui.resources.Labels</base-name>
            <var>lbl</var>
        </resource-bundle>

        <resource-bundle>
            <base-name>by.softclub.abank.admin.ui.resources.Regexp</base-name>
            <var>regexp</var>
        </resource-bundle>

        <action-listener>org.primefaces.application.DialogActionListener</action-listener>
        <navigation-handler>org.primefaces.application.DialogNavigationHandler</navigation-handler>

        <!--   <view-handler>org.primefaces.application.DialogViewHandler</view-handler>  -->
        <el-resolver>
            org.primefaces.application.exceptionhandler.PrimeExceptionHandlerELResolver
        </el-resolver>
    </application>

    <factory>
        <exception-handler-factory>
            org.primefaces.application.exceptionhandler.PrimeExceptionHandlerFactory
        </exception-handler-factory>
    </factory>

    <lifecycle>
        <phase-listener>by.softclub.abank.admin.ui.faces.UniqueSessionPhaseListener</phase-listener>
    </lifecycle>

</faces-config>



public_html\WEB-INF\beans.xml
Код: java
1.
2.
3.
4.
5.
6.
7.
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
       version="1.2" bean-discovery-mode="annotated">

    <!-- some content -->
</beans>



UniqueSessionPhaseListener
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
public class UniqueSessionPhaseListener implements PhaseListener {

    @Inject
    ApplicationBean applicationBean;

    public PhaseId getPhaseId() {
        return PhaseId.RENDER_RESPONSE;
    }

    public void afterPhase(PhaseEvent phaseEvent) {
    }

    public void beforePhase(PhaseEvent phaseEvent) {
        if (applicationBean.sessionIntercepted(FacesUtils.getSession())) {
            SessionBean sessionBean = (SessionBean) FacesUtils.getSession().getAttribute("sessionBean");
            if (sessionBean.isAuthenticated()) {
                sessionBean.logoutAction();
            }
        }
    }

}




ApplicationBean
Код: java
1.
2.
3.
4.
5.
6.
7.
@ApplicationScoped
@Named("applicationBean")
public class ApplicationBean implements Serializable {
    public ApplicationBean() {
    }

}
...
Рейтинг: 0 / 0
EJB Inject
    #39311694
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел тут

Код: java
1.
Before JSF 2.2, PhaseListeners are not registered as CDI injection targets. Using @Inject (and @EJB) has effectively no effect in PhaseListeners. You'd need to manually grab the CDI managed beans by programmatically evaluating an EL expression referencing the @Named's (implicit) name, or as last resort via JNDI and BeanManager which is quite clumsy.



http://stackoverflow.com/questions/19930241/how-to-inject-in-a-phaselistener

Но все равно ловлю null pointer

Код: java
1.
2.
3.
4.
5.
public static ApplicationBean getApplicationBean() {
    FacesContext context = FacesContext.getCurrentInstance();
    return context.getApplication()
            .evaluateExpressionGet(context, "#{applicationBean}", ApplicationBean.class);
}



Примечательно, когда ApplicationBean бsk аннотирован @ManagedBean все работало
...
Рейтинг: 0 / 0
EJB Inject
    #39312407
Фотография -=Koba=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1 Как можно узнать лежит по правильному пути лежит beans.xml (faces-config находит), так что думаю вряд ли но все же
2 Настройки сервера, его библиотеки (WildFly 9), не могут ли влиять на CDI ?
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / EJB Inject
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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