Re: Re: Re: null EntityManager while calling an EJB from an EJB.
Florent BENOIT <[email protected]> Tue, 01 Mar 2011 17:49:07 +0100
| Newsgroups | gmane.comp.java.objectweb.jonas |
|---|---|
| Message-ID | <[email protected]> |
Hi,
Could you :
add @PersistenceContext on a setter method so you can check if the
callback is called on your second EJB
--> Log the injected PersistenceContext
Enable in JONAS_BASE/conf/trace.properties the logger for the following
packages :
-> org.ow2.easybeans.enhancer.injection
-> org.ow2.easybeans.injection
And org.ow2.easybeans.loader
And send me the log and the EJB2.class that should be present in your
java.io.tmpdir (/tmp on Linux for Example)
Regards,
Florent
ROUMEAS Micaël wrote:
> Hi,
>
> Thanks for this reply. Sadly, JOnAS 5.2.0.M4 did not solve my issue.
>
> I did create a clear test sample but I still get the error.
>
> ================================
> ** Ejb1.java:
>
> @EJB
> Ejb2 otherEjb
>
> method1( ) { otherEjb.method2( ); }
>
> ================================
> ** Ejb2.java:
>
> @PersistenceContext( "PU-Name" )
> private EntityManager em
>
> method2( ) { em.find( MyClass.class, "findMe" ); }
>
> ================================
>
> - But I still have this NullPointerException when I call the Ejb2
> Stateless EJB:
> AbsTransactionInterceptor.handleContextContainerTransaction :
> Exception (not application exception) in business method
> java.lang.NullPointerException
>
>
> Is there anything special to do to inject entityManager ?
> @PersistenceContext
>
> or even
> @PersistenceContext( "PU-Name" )
>
> both work only in my 1st EJB.
>
> Thanks for your time,
> M Roumeas.
>
> Le 01/03/2011 09:53, Hans J. Prueller a écrit :
>> I cannot really help you but I would strongly suggest that you
>> upgrade to the latest 5.2M4 !
>>
>> We are using 5.2M4 with same scenario as you do - several SLSB's
>> "linked" to each other with @EJB annotations and all of the EJB's
>> are having an injected entityManager with @PersistenceContext and
>> this works pretty fine for us!
>>
>> regards,
>> Hans
>>
>> Am Dienstag, den 01.03.2011, 09:46 +0000 schrieb ROUMEAS Micaël:
>>> Hi there,
>>>
>>> I'm actually using JOnAS 5.2.M3 and I have an issue with my EJBs.
>>>
>>> I'm trying to use an EJB from another EJB, and so far the link "EJB to
>>> EJB" is working properly.
>>> My issue come when my second EJB try to use an EntityManager:
>>> @PersistenceContext
>>> private EntityManager em = null;
>>>
>>> ...
>>>
>>> em.find( myClass.class, "findMe" );
>>>
>>>
>>> The "em" is null, JOnAS crash with a null pointer exception here.
>>>
>>> I don't understand why. Because when I call my EJB from a servlet for
>>> example, my entity manager "em" is not null.
>>> "em" is null only if I call my EJB from another EJB from the same package.
>>>
>>> Is there any reason for this ? Or do I miss understood some basics ?
>>>
>>> I hope my problem is clearly explained.
>>> Any clue or question will be more than welcome.
>>>
>>> Thanks for your time,
>>> M Roumeas.
>>>
>>>
>>>
>>
>