cancel
Showing results for 
Search instead for 
Did you mean: 

look up entitiy beans across DCs??

Former Member
0 Kudos

i want to look up entity beans from one Dcs to another DC. i hv written following code for lookup same as we write to look up in case of session beans and entity beans are in same DC. But i am not able to get reference of entity beans in other DC using following code. is there anyother way ??? Here i want look up entity beans from 2 different DC (DC1 appdm and DC2 jobposmg)

@PersistenceContext(unitName = "appdm", type = PersistenceContextType.TRANSACTION)

public EntityManager emappdm;

@PersistenceContext(unitName = "jobposmg", type = PersistenceContextType.TRANSACTION)

public EntityManager emjobposmg;

Accepted Solutions (1)

Accepted Solutions (1)

Vlado
Advisor
Advisor
0 Kudos

According to the specification, persistence units (PUs) are not visible outside the application in which they are defined. So, if DC1 and DC2 above are bundled in EAR DC "A" and the EJB DC with your session bean is wrapped in EAR DC "B", it won't have access to those PUs.

Regards,

\-- Vladimir

Former Member
0 Kudos

no , my both DCs , DC1 and DC2 are in same application EAR DC

Vlado
Advisor
Advisor
0 Kudos

Then you'd need to check / provide some more details about the exact exception that is thrown during injection.

Former Member
0 Kudos

i am looking up entitiy bean from different EJB DC in session bean ChannelProcessor . while testing web service for output i m getting following exception

[EXCEPTION]

#1#javax.ejb.EJBException: Exception in getMethodReady() for stateless bean asianpaints.com/erecapp*annotation|asianpaint

s.com~sessproc.jar*annotation|ChannelProcessorBean; nested exception is: com.sap.engine.services.ejb3.util.pool.PoolException

: javax.ejb.EJBException: Cannot perform injection over bean instance com.apl.erec.session.channelprocessor.ChannelProcessorB

ean@8a6131e for bean asianpaints.com/erecappannotation|asianpaints.com~sessproc.jarannotation|ChannelProcessorBean; nested

exception is: com.sap.engine.lib.injection.InjectionException: Injection on field emappdm of instance com.apl.erec.session.ch

annelprocessor.ChannelProcessorBean@8a6131e failed. Could not get a value to be injected from the factory.

com.sap.engine.services.ejb3.util.pool.PoolException: javax.ejb.EJBException: Cannot perform injection over bean instance com

.apl.erec.session.channelprocessor.ChannelProcessorBean@8a6131e for bean asianpaints.com/erecapp*annotation|asianpaints.com~s

essproc.jar*annotation|ChannelProcessorBean; nested exception is: com.sap.engine.lib.injection.InjectionException: Injection

on field emappdm of instance com.apl.erec.session.channelprocessor.ChannelProcessorBean@8a6131e failed. Could not get a value

to be injected from the factory.

at com.sap.engine.services.ejb3.util.pool.ContainerPool.translate(ContainerPool.java:288)

at com.sap.engine.services.ejb3.util.pool.ContainerPoolImpl.doResizeOneStepUp(ContainerPoolImpl.java:378)

at com.sap.engine.services.ejb3.util.pool.ContainerPoolImpl.ensureNotEmpty(ContainerPoolImpl.java:342)

at com.sap.engine.services.ejb3.util.pool.ContainerPoolImpl.pop(ContainerPoolImpl.java:309)

at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager.getMethodReady(StatelessInstanceLifecy

cleManager.java:64)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstan

ceGetter.java:14)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16

)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager

.java:133)

at com.sap.engine.services.ejb3.webservice.impl.DefaultImplementationContainer.invokeMethod(DefaultImplementationCont

ainer.java:180)

at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.process0(RuntimeProcessing

Environment.java:353)

at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.preProcess(RuntimeProcessi

ngEnvironment.java:329)

at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.process(RuntimeProcessingE

nvironment.java:211)

at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPostWOLogging(ServletDispatcherImpl.ja

va:155)

at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPostWithLogging(ServletDispatcherImpl.

java:96)

at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPost(ServletDispatcherImpl.java:66)

at SoapServlet.doPost(SoapServlet.java:51)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:66)

at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:32)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:431)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:289)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:376)

at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:85)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:160)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:67)

at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)

at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)

at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)

at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:309)

at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.run(Processor.java:222)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:152)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:247)

Caused by: javax.ejb.EJBException: Cannot perform injection over bean instance com.apl.erec.session.channelprocessor.ChannelP

rocessorBean@8a6131e for bean asianpaints.com/erecappannotation|asianpaints.com~sessproc.jarannotation|ChannelProcessorBean

; nested exception is: com.sap.engine.lib.injection.InjectionException: Injection on field emappdm of instance com.apl.erec.s

ession.channelprocessor.ChannelProcessorBean@8a6131e failed. Could not get a value to be injected from the factory.

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_DependencyInjection.invoke(Interceptors_DependencyInjection

.java:25)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_EJBContext30DependencyInjection.invoke(Interceptors_EJBCont

ext30DependencyInjection.java:11)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:

19)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ApplicationInstancesCreator.invoke(Interceptors_Application

InstancesCreator.java:53)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_NewBeanContext.invoke(Interceptors_NewBeanContext.java:17)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startCallback(DefaultInvocationChainsMana

ger.java:147)

at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager.makeExist(StatelessInstanceLifecycleMa

nager.java:108)

at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager.access$000(StatelessInstanceLifecycleM

anager.java:23)

at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager$PoolUserImpl.createObject(StatelessIns

tanceLifecycleManager.java:34)

at com.sap.engine.services.ejb3.util.pool.ContainerPoolImpl.doResizeOneStepUp(ContainerPoolImpl.java:373)

... 48 more

Caused by: com.sap.engine.lib.injection.InjectionException: Injection on field emappdm of instance com.apl.erec.session.chann

elprocessor.ChannelProcessorBean@8a6131e failed. Could not get a value to be injected from the factory.

at com.sap.engine.lib.injection.FieldInjector.inject(FieldInjector.java:115)

at com.sap.engine.lib.injection.InjectionMatrix.inject(InjectionMatrix.java:45)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_DependencyInjection.invoke(Interceptors_DependencyInjection

.java:22)

... 64 more

Caused by: com.sap.engine.services.orpersistence.container.exceptions.ResourceException: Persistence unit 'appdm' requested f

rom archive 'asianpaints.com~sessproc.jar' is not present in application 'asianpaints.com/erecapp' or is not visible to the r

equested archive.

at com.sap.engine.services.orpersistence.container.ORPersistenceObjectFactory.getPersistenceUnitInfo(ORPersistenceObj

ectFactory.java:213)

at com.sap.engine.services.orpersistence.container.ORPersistenceObjectFactory.getObjectInstance(ORPersistenceObjectFa

ctory.java:59)

at com.sap.engine.lib.injection.ReferenceObjectFactory.getObject(ReferenceObjectFactory.java:65)

at com.sap.engine.lib.injection.FieldInjector.inject(FieldInjector.java:113)

... 66 more

javax.ejb.EJBException: Exception in getMethodReady() for stateless bean asianpaints.com/erecapp*annotation|asianpaints.com~s

essproc.jar*annotation|ChannelProcessorBean; nested exception is: com.sap.engine.services.ejb3.util.pool.PoolException: javax

.ejb.EJBException: Cannot perform injection over bean instance com.apl.erec.session.channelprocessor.ChannelProcessorBean@8a6

131e for bean asianpaints.com/erecappannotation|asianpaints.com~sessproc.jarannotation|ChannelProcessorBean; nested excepti

on is: com.sap.engine.lib.injection.InjectionException: Injection on field emappdm of instance com.apl.erec.session.channelpr

ocessor.ChannelProcessorBean@8a6131e failed. Could not get a value to be injected from the factory.

at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager.getMethodReady(StatelessInstanceLifecy

cleManager.java:66)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstan

ceGetter.java:14)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16

)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager

.java:133)

at com.sap.engine.services.ejb3.webservice.impl.DefaultImplementationContainer.invokeMethod(DefaultImplementationCont

ainer.java:180)

at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.process0(RuntimeProcessing

Environment.java:353)

at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.preProcess(RuntimeProcessi

ngEnvironment.java:329)

at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.process(RuntimeProcessingE

nvironment.java:211)

at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPostWOLogging(ServletDispatcherImpl.ja

va:155)

at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPostWithLogging(ServletDispatcherImpl.

java:96)

at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPost(ServletDispatcherImpl.java:66)

at SoapServlet.doPost(SoapServlet.java:51)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:66)

at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:32)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:431)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:289)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:376)

at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:85)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:160)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:67)

at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)

at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)

at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)

at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:309)

at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.run(Processor.java:222)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:152)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:247)

Caused by: com.sap.engine.services.ejb3.util.pool.PoolException: javax.ejb.EJBException: Cannot perform injection over bean i

nstance com.apl.erec.session.channelprocessor.ChannelProcessorBean@8a6131e for bean asianpaints.com/erecapp*annotation|asianp

aints.com~sessproc.jar*annotation|ChannelProcessorBean; nested exception is: com.sap.engine.lib.injection.InjectionException:

Injection on field emappdm of instance com.apl.erec.session.channelprocessor.ChannelProcessorBean@8a6131e failed. Could not

get a value to be injected from the factory.

Caused by: javax.ejb.EJBException: Cannot perform injection over bean instance com.apl.erec.session.channelprocessor.ChannelP

rocessorBean@8a6131e for bean asianpaints.com/erecappannotation|asianpaints.com~sessproc.jarannotation|ChannelProcessorBean

; nested exception is: com.sap.engine.lib.injection.InjectionException: Injection on field emappdm of instance com.apl.erec.s

ession.channelprocessor.ChannelProcessorBean@8a6131e failed. Could not get a value to be injected from the factory.

Vlado
Advisor
Advisor
0 Kudos

Note this:

<b>com.sap.engine.services.orpersistence.container.exceptions.ResourceException: Persistence unit 'appdm' requested f

rom archive 'asianpaints.com~sessproc.jar' is not present in application 'asianpaints.com/erecapp' or is not visible to the r

equested archive.</b>

This means that in the DC where the PU 'appdm' is defined (let's call it appdmDC.jar), you also have other components (most probably session beans) which makes the PU with that name visible only locally to those components co-located in the same DC.

You could try two things:

- extract the PU into a separate DC that contains only your JPA entities (this will make it global for the entire EAR), or

- refer to the PU as unitName="appdmDC.jar#appdm" from all other EJB DCs in the same EAR.

HTH!

\-- Vladimir

Former Member
0 Kudos

i hv written following code for look up inside session bean.

@PersistenceContext(unitName = "appdm", type = PersistenceContextType.TRANSACTION)

public EntityManager emappdm;

@PersistenceContext(unitName = "jobposmg", type = PersistenceContextType.TRANSACTION)

public EntityManager emjobposmg;

both persistence units , appdm and jobposmg , are from different DCs. In case of appdm its not showing any error , but not able to look up for persistence unit "jobposmg". i am sending u defaultTrace i got while executing webservice for this session bean business method.

#1.#0050569630A50032000001EC00007A2300E1E5C40FB91E18#1216008080728#com.sap.engine.services.ejb3.runtime#asianpaints.com/ereca

pp#com.sap.engine.services.ejb3.runtime#Guest#38008##apj2e_J2D_6358450##e1de9bd0515711dd8adb0050569630a5#HTTP Worker [4]##0#0

#Error##Java###System exception

[EXCEPTION]

#1#javax.ejb.EJBException: Exception in getMethodReady() for stateless bean asianpaints.com/erecapp*annotation|asianpaint

s.com~sessproc.jar*annotation|SelectionProcessRetrivalBean; nested exception is: com.sap.engine.services.ejb3.util.pool.PoolE

xception: javax.ejb.EJBException: Cannot perform injection over bean instance com.apl.erec.session.selectionprocessretrival.S

electionProcessRetrivalBean@77c6fee0 for bean asianpaints.com/erecappannotation|asianpaints.com~sessproc.jarannotation|Sele

ctionProcessRetrivalBean; nested exception is: com.sap.engine.lib.injection.InjectionException: Injection on field emjobposmg

of instance com.apl.erec.session.selectionprocessretrival.SelectionProcessRetrivalBean@77c6fee0 failed. Could not get a valu

e to be injected from the factory.

com.sap.engine.services.ejb3.util.pool.PoolException: javax.ejb.EJBException: Cannot perform injection over bean instance com

.apl.erec.session.selectionprocessretrival.SelectionProcessRetrivalBean@77c6fee0 for bean asianpaints.com/erecapp*annotation|

asianpaints.com~sessproc.jar*annotation|SelectionProcessRetrivalBean; nested exception is: com.sap.engine.lib.injection.Injec

tionException: Injection on field emjobposmg of instance com.apl.erec.session.selectionprocessretrival.SelectionProcessRetriv

alBean@77c6fee0 failed. Could not get a value to be injected from the factory.

at com.sap.engine.services.ejb3.util.pool.ContainerPool.translate(ContainerPool.java:288)

at com.sap.engine.services.ejb3.util.pool.ContainerPoolImpl.doResizeOneStepUp(ContainerPoolImpl.java:378)

at com.sap.engine.services.ejb3.util.pool.ContainerPoolImpl.ensureNotEmpty(ContainerPoolImpl.java:342)

at com.sap.engine.services.ejb3.util.pool.ContainerPoolImpl.pop(ContainerPoolImpl.java:309)

at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager.getMethodReady(StatelessInstanceLifecy

cleManager.java:64)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstan

ceGetter.java:14)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16

)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager

.java:133)

at com.sap.engine.services.ejb3.webservice.impl.DefaultImplementationContainer.invokeMethod(DefaultImplementationCont

ainer.java:180)

at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.process0(RuntimeProcessing

Environment.java:353)

at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.preProcess(RuntimeProcessi

ngEnvironment.java:329)

at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.process(RuntimeProcessingE

nvironment.java:211)

at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPostWOLogging(ServletDispatcherImpl.ja

va:155)

at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPostWithLogging(ServletDispatcherImpl.

java:96)

at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPost(ServletDispatcherImpl.java:66)

at SoapServlet.doPost(SoapServlet.java:51)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:66)

at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:32)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:431)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:289)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:376)

at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:85)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:160)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:67)

at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)

at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)

at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)

at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:309)

at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.run(Processor.java:222)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:152)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:247)

Caused by: javax.ejb.EJBException: Cannot perform injection over bean instance com.apl.erec.session.selectionprocessretrival.

SelectionProcessRetrivalBean@77c6fee0 for bean asianpaints.com/erecappannotation|asianpaints.com~sessproc.jarannotation|Sel

ectionProcessRetrivalBean; nested exception is: com.sap.engine.lib.injection.InjectionException: Injection on field emjobposm

g of instance com.apl.erec.session.selectionprocessretrival.SelectionProcessRetrivalBean@77c6fee0 failed. Could not get a val

ue to be injected from the factory.

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_DependencyInjection.invoke(Interceptors_DependencyInjection

.java:25)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_EJBContext30DependencyInjection.invoke(Interceptors_EJBCont

ext30DependencyInjection.java:11)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:

19)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ApplicationInstancesCreator.invoke(Interceptors_Application

InstancesCreator.java:53)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_NewBeanContext.invoke(Interceptors_NewBeanContext.java:17)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startCallback(DefaultInvocationChainsMana

ger.java:147)

at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager.makeExist(StatelessInstanceLifecycleMa

nager.java:108)

at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager.access$000(StatelessInstanceLifecycleM

anager.java:23)

at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager$PoolUserImpl.createObject(StatelessIns

tanceLifecycleManager.java:34)

at com.sap.engine.services.ejb3.util.pool.ContainerPoolImpl.doResizeOneStepUp(ContainerPoolImpl.java:373)

... 48 more

Caused by: com.sap.engine.lib.injection.InjectionException: Injection on field emjobposmg of instance com.apl.erec.session.se

lectionprocessretrival.SelectionProcessRetrivalBean@77c6fee0 failed. Could not get a value to be injected from the factory.

at com.sap.engine.lib.injection.FieldInjector.inject(FieldInjector.java:115)

at com.sap.engine.lib.injection.InjectionMatrix.inject(InjectionMatrix.java:45)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_DependencyInjection.invoke(Interceptors_DependencyInjection

.java:22)

... 64 more

Caused by: com.sap.engine.services.orpersistence.container.exceptions.ResourceException: Persistence unit 'jobposmg' requeste

d from archive 'asianpaints.com~sessproc.jar' is not present in application 'asianpaints.com/erecapp' or is not visible to th

e requested archive.

at com.sap.engine.services.orpersistence.container.ORPersistenceObjectFactory.getPersistenceUnitInfo(ORPersistenceObj

ectFactory.java:213)

at com.sap.engine.services.orpersistence.container.ORPersistenceObjectFactory.getObjectInstance(ORPersistenceObjectFa

ctory.java:59)

at com.sap.engine.lib.injection.ReferenceObjectFactory.getObject(ReferenceObjectFactory.java:65)

at com.sap.engine.lib.injection.FieldInjector.inject(FieldInjector.java:113)

... 66 more

javax.ejb.EJBException: Exception in getMethodReady() for stateless bean asianpaints.com/erecapp*annotation|asianpaints.com~s

essproc.jar*annotation|SelectionProcessRetrivalBean; nested exception is: com.sap.engine.services.ejb3.util.pool.PoolExceptio

n: javax.ejb.EJBException: Cannot perform injection over bean instance com.apl.erec.session.selectionprocessretrival.Selectio

nProcessRetrivalBean@77c6fee0 for bean asianpaints.com/erecappannotation|asianpaints.com~sessproc.jarannotation|SelectionPr

ocessRetrivalBean; nested exception is: com.sap.engine.lib.injection.InjectionException: Injection on field emjobposmg of ins

tance com.apl.erec.session.selectionprocessretrival.SelectionProcessRetrivalBean@77c6fee0 failed. Could not get a value to be

injected from the factory.

at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager.getMethodReady(StatelessInstanceLifecy

cleManager.java:66)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstan

ceGetter.java:14)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16

)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager

.java:133)

at com.sap.engine.services.ejb3.webservice.impl.DefaultImplementationContainer.invokeMethod(DefaultImplementationCont

ainer.java:180)

at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.process0(RuntimeProcessing

Environment.java:353)

at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.preProcess(RuntimeProcessi

ngEnvironment.java:329)

at com.sap.engine.services.webservices.espbase.server.runtime.RuntimeProcessingEnvironment.process(RuntimeProcessingE

nvironment.java:211)

at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPostWOLogging(ServletDispatcherImpl.ja

va:155)

at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPostWithLogging(ServletDispatcherImpl.

java:96)

at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPost(ServletDispatcherImpl.java:66)

at SoapServlet.doPost(SoapServlet.java:51)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:66)

at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:32)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:431)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:289)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:376)

at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:85)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:160)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:67)

at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)

at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)

at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)

at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71)

at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:309)

at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.run(Processor.java:222)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:152)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:247)

Caused by: com.sap.engine.services.ejb3.util.pool.PoolException: javax.ejb.EJBException: Cannot perform injection over bean i

nstance com.apl.erec.session.selectionprocessretrival.SelectionProcessRetrivalBean@77c6fee0 for bean asianpaints.com/erecapp*

annotation|asianpaints.com~sessproc.jar*annotation|SelectionProcessRetrivalBean; nested exception is: com.sap.engine.lib.inje

ction.InjectionException: Injection on field emjobposmg of instance com.apl.erec.session.selectionprocessretrival.SelectionPr

ocessRetrivalBean@77c6fee0 failed. Could not get a value to be injected from the factory.

at com.sap.engine.services.ejb3.util.pool.ContainerPool.translate(ContainerPool.java:288)

at com.sap.engine.services.ejb3.util.pool.ContainerPoolImpl.doResizeOneStepUp(ContainerPoolImpl.java:378)

at com.sap.engine.services.ejb3.util.pool.ContainerPoolImpl.ensureNotEmpty(ContainerPoolImpl.java:342)

at com.sap.engine.services.ejb3.util.pool.ContainerPoolImpl.pop(ContainerPoolImpl.java:309)

at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager.getMethodReady(StatelessInstanceLifecy

cleManager.java:64)

... 45 more

Caused by: javax.ejb.EJBException: Cannot perform injection over bean instance com.apl.erec.session.selectionprocessretrival.

SelectionProcessRetrivalBean@77c6fee0 for bean asianpaints.com/erecappannotation|asianpaints.com~sessproc.jarannotation|Sel

ectionProcessRetrivalBean; nested exception is: com.sap.engine.lib.injection.InjectionException: Injection on field emjobposm

g of instance com.apl.erec.session.selectionprocessretrival.SelectionProcessRetrivalBean@77c6fee0 failed. Could not get a val

ue to be injected from the factory.

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_DependencyInjection.invoke(Interceptors_DependencyInjection

.java:25)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_EJBContext30DependencyInjection.invoke(Interceptors_EJBCont

ext30DependencyInjection.java:11)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:

19)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ApplicationInstancesCreator.invoke(Interceptors_Application

InstancesCreator.java:53)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_NewBeanContext.invoke(Interceptors_NewBeanContext.java:17)

at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)

at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startCallback(DefaultInvocationChainsMana

ger.java:147)

at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager.makeExist(StatelessInstanceLifecycleMa

nager.java:108)

at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager.access$000(StatelessInstanceLifecycleM

anager.java:23)

at com.sap.engine.services.ejb3.runtime.impl.StatelessInstanceLifecycleManager$PoolUserImpl.createObject(StatelessIns

tanceLifecycleManager.java:34)

at com.sap.engine.services.ejb3.util.pool.ContainerPoolImpl.doResizeOneStepUp(ContainerPoolImpl.java:373)

... 48 more

Caused by: com.sap.engine.lib.injection.InjectionException: Injection on field emjobposmg of instance com.apl.erec.session.se

lectionprocessretrival.SelectionProcessRetrivalBean@77c6fee0 failed. Could not get a value to be injected from the factory.

at com.sap.engine.lib.injection.FieldInjector.inject(FieldInjector.java:115)

at com.sap.engine.lib.injection.InjectionMatrix.inject(InjectionMatrix.java:45)

at com.sap.engine.services.ejb3.runtime.impl.Interceptors_DependencyInjection.invoke(Interceptors_DependencyInjection

.java:22)

... 64 more

Caused by: com.sap.engine.services.orpersistence.container.exceptions.ResourceException: Persistence unit 'jobposmg' requeste

d from archive 'asianpaints.com~sessproc.jar' is not present in application 'asianpaints.com/erecapp' or is not visible to th

e requested archive.

at com.sap.engine.services.orpersistence.container.ORPersistenceObjectFactory.getPersistenceUnitInfo(ORPersistenceObj

ectFactory.java:213)

at com.sap.engine.services.orpersistence.container.ORPersistenceObjectFactory.getObjectInstance(ORPersistenceObjectFa

ctory.java:59)

at com.sap.engine.lib.injection.ReferenceObjectFactory.getObject(ReferenceObjectFactory.java:65)

at com.sap.engine.lib.injection.FieldInjector.inject(FieldInjector.java:113)

Vlado
Advisor
Advisor
0 Kudos

You get the same exception as in your previous post. Have you tried any of the solutions I proposed above?!

Former Member
0 Kudos

i am able to look up entity beans from sessproc DC from session beans in same DCs. But not working across DC. i m also doing look up entitiy beans from appdm EJB module DC in other DC along with sessproc. Its working with appdm but not with sessproc

i ddnt understand ur first solution

" extract the PU into a separate DC that contains only your JPA entities (this will make it global for the entire EAR)"

i tried second option suggested , as follows. i hope this is what u suggested me to write.

@PersistenceContext(unitName = "sessproc.jar#jobposmg", type = PersistenceContextType.TRANSACTION)

  • sessproc is EJB module DC , and prsistence unit in persistence.xml is "jobposmg"

but same thing happening.

Vlado
Advisor
Advisor
0 Kudos

> i ddnt understand ur first solution

> " extract the PU into a separate DC that contains only your JPA entities (this will make it global for the entire EAR)"

I was suggesting that you put all entities pertaining to the persistence unit (PU) in a separate DC that would contain nothing else except those entities (i.e. no session beans whatsoever). This would make the PU visible to the entire EAR with the simple name you've specified in the persistence.xml (e.g. "jobposmg").

If the DC contains JPA entities as well as EJBs, then by default the PU is visible only to those co-located EJBs, it's not accessible outside of that DC.

> i tried second option suggested , as follows. i hope this is what u suggested me to write.

>

> @PersistenceContext(unitName = "sessproc.jar#jobposmg", type = PersistenceContextType.TRANSACTION)

>

> * sessproc is EJB module DC , and prsistence unit in persistence.xml is "jobposmg"

No, the name before # should be the name of the jar containing the "jobposmg" PU, not the name of the jar containing the session bean requesting injection.

Former Member
0 Kudos

yes. i did same thing. sessproc is my EJB module insaide i m having persistence unit. still not working. should i add jar tag persistence.xml??? is it going to help resolve this issue???

Vlado
Advisor
Advisor
0 Kudos

As already mentioned, if the session bean requesting injection and the persistence unit are in the same DC, you can look it up just with its simple name, without "jar-name#". But you definitely need persistence.xml. Without persistence.xml you don't have a persistence unit.

Former Member
0 Kudos

"appdm" persistence unit is in same DC , ie. inside appdm DC. i tried simply by giving persistence unit name but it ddnt work. Also i would like to mention here that , appdm DC is also using another EJB module DC , jobposmg , which is also having persistence unit.

jobposmg DC is having only one persistence unit , also no other DC added for dependency. in jobposmg DC injection is working. But not working in case of appdm EJB module DC , which is hvng its own persistence DC as well as using another EJB module DC (jobposmg) which is also hvng persistence unit.

Edited by: kavita chavan on Jul 22, 2008 11:04 AM

Vlado
Advisor
Advisor
0 Kudos

Sorry but you really lost me now.

On July 14th you wrote:

> i m also doing look up entitiy beans from appdm EJB module DC in other DC along with sessproc. Its working with appdm but not with sessproc

And now you write:

> in jobposmg DC injection is working. But not working in case of appdm EJB module DC

Could you explain the structure of your DCs - which one contains what and which one tries to lookup what, and what issues exactly you face currently?

Former Member
0 Kudos

sorry. i will exaplain u in simple words.Lets say i m having 2 EJB DCs. EJBParent and EJBChild . And for these two DCs one EJB Application DC , say EJBAppl. Both EJBParent and EJBChild are having session as well as entity beans. EJBChild has added EJBParent as used DC. Now EJBChild wants to access EJBParent's entity beans , thus it has to look up Persistence Unit inside EJBParent.

In case of EJBParent DC , when code written for look up persistence unit using PersistenanceContext its working fine. I am able to fetch data from database tables through entity beans in EJBParent. But in case of EJBChild , i m getting Exception while look up for both Persistence units, i.e. persistenance units from EJBParent as well as from EJBChild DC. I hope this is clear now, n no more confusing.

Vlado
Advisor
Advisor
0 Kudos

Right. Let's assume that the persistence unit in EJBParent DC is named PU1 and the one in EJBChild DC - PU2.

So, in a session bean in EJBParent DC you simply write:


@PersistenceContext(unitName = "PU1")    // actually it should work even without unitName = "PU1"
EntityManager myEm;

In a session bean in EJBChild DC you should write:


@PersistenceContext(unitName = "EJBParent.jar#PU1")    // check that the name of the jar is exactly like this, it might differ from the DC name!
EntityManager parentEm;

@PersistenceContext(unitName = "PU2")
EntityManager myEm;

HTH!

\-- Vladimir

Former Member
0 Kudos

yes. i hv already tried tht but stil getting same exception. Now i hv extracted al entitiy beans in one DC. Now there in only one persistence unit for one EJB Application DC. Othjer DCs are havng only session beans and accesing entity beans from tht DC. Still i am facinf tht issue. is it bcoz of dependency??

Vlado
Advisor
Advisor
0 Kudos

Actually, what I told you before is not absolutely correct. The spec does not require that if you have a jar containing EJBs as well as entities the persistence unit be visible to other components in the application except those EJBs (section 6.2.2 of the JPA spec). So the # syntax will not work in this case. I was thinking that the SAP JPA container is less restrictive than the spec and allows it but that's not the case, I checked it today. Sorry about the confusion.

However, if you have:

EAR

|-- ejb1.jar

|-- ejb2.jar

|-- ...

|-- ejbN.jar

|-- jpa-entities.jar

and jpa-entities.jar contains only JPA entities (let's name it "MyEarLevelPU"), it is visible to all components in the EAR and they can look it up as below:


@PersistenceContext(unitName="MyEarLevelPU")
EntityManager em;

This definitely works.

HTH!

\-- Vladimir

Former Member
0 Kudos

Thnx a lot to help me resolve this issue. Actually it was some error in queries. But when i was executing webserivce i used to get stackoverflow error thts why i could not make out reason for this problem. I tested same persistance class in another session bean having single method which returns just string. When i executed tht method from web service navigator i got actual defaultTrace for error in queries. Thnx a lot , again.

Answers (0)