It may sound like too much of a quick fix, but are you using the embeddable 
distribution and all libs with it?  I believe that class you're looking for is 
in the Geronimo-transaction jar file in your distro.

-----Original Message-----
From: faizbash [mailto:[email protected]] 
Sent: Saturday, October 17, 2009 12:01 PM
To: [email protected]
Subject: Re: OpenEJB 3.1 as embeddable container


I included openejb-core-3.1.2.jar and it solved the problem but I am getting
another exception now:

Attempted to load OpenEJB. OpenEJB has encountered a fatal error and cannot
be started: 
OpenEJB encoutnered an unexpected error while attempting to instantiate the
assembler.: 
org/apache/geronimo/transaction/manager/XAWork

javax.naming.NamingException
at
org.apache.openejb.client.LocalInitialContextFactory.init(LocalInitialContextFactory.java:55)
at
org.apache.openejb.client.LocalInitialContextFactory.getInitialContext(LocalInitialContextFactory.
java:42)
at javax.naming.spi.NamingManager.getInitialContext(NamingManage.java:667)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:228)
...

The exception is caused by:
Context context = new InitialContext(props);

I dont think I am using the openejb-api.jar for anything.




Quintin Beukes-2 wrote:
> 
> You have to include openejb-core-3.1.2.jar in your test classpath as
> well. Most IDEs have a separate classpath for unit tests. This
> classpath will be appended onto your normal classpath.
> 
> The reason for including core is because for the unit tests to run the
> embedded container, you are basically running a complete openejb
> instance inside of the JVM, and for this you need the core of OpenEJB
> included. Further, a LocalInitialContextFactory only makes sense in an
> embedded container or application server of some sort, because it can
> only work for EJB references inside the same JVM, which is why it's
> only included in the core jar.
> 
> One more question, are you using the openejb-api jar for one/more of
> the LocalClient/RemoteClient/EjbDeployment annotations?
> 
> This should solve your problem.
> 
> Quintin Beukes
> 
> 
> 
> On Sat, Oct 17, 2009 at 3:31 PM, faizbash <[email protected]> wrote:
>>
>> Quintin,
>> Thanks for the response.
>>
>> I'm using openejb-api-3.1.1.jar and openejb-client-3.1.1.jar. I am not
>> using
>> Maven.
>> This is what I got after running
>> System.out.println(System.getProperty("java.class.path"));
>>
>>
>> /home/faizbash/NetBeansProjects/CASE_management_sys/CASE_management_sys-ejb/build/jar:
>> /home/faizbash/netbeans-6.7/java2/modules/ext/junit-3.8.2.jar:
>> /home/faizbash/netbeans-6.7/platform10/modules/ext/junit-4.5.jar:
>> /home/faizbash/lib/openejb-3.1.1/lib/openejb-api-3.1.1.jar:
>> /home/faizbash/lib/openejb-3.1.1/lib/openejb-client-3.1.1.jar
>> ...
>>
>> and lots more.
>>
>> Sorry I forgot to include my code in the previous post:
>>
>>    @Before
>>    public void bootContainer() throws Exception{
>>        Properties props = new Properties();
>>        props.put(Context.INITIAL_CONTEXT_FACTORY,
>>                "org.apache.openejb.client.LocalInitialContextFactory");
>>        Context context = new InitialContext(props);
>>        crudService = (CrudService) context.lookup("CrudServiceBean");
>>    }
>>
>>
>>
>>
>> Quintin Beukes-2 wrote:
>>>
>>> Two questions:
>>>
>>> 1. Which jars are you including in your classpath. Can you do a
>>> System.out.println(System.getProperty("java.class.path"));
>>> 2. If you are using maven, can you please paste your <dependencies>
>>> element of the POM.
>>>
>>> Quintin Beukes
>>>
>>>
>>>
>>> On Sat, Oct 17, 2009 at 10:23 AM, faizbash <[email protected]> wrote:
>>>>
>>>> Hello,
>>>>
>>>> I ve been trying to launch OpenEJB as an embeddable container for JUnit
>>>> tests, but I keep getting the following error:
>>>>
>>>> Cannot instantiate class:
>>>> org.apache.openejb.client.LocalInitialContextFactory
>>>> javax.naming.NoInitialContextException
>>>> at
>>>> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
>>>> at
>>>> javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
>>>> at javax.naming.InitialContext.init(InitialContext.java:223)
>>>> at javax.naming.InitialContext.<init>(InitialContext.java:197)
>>>> ...
>>>>
>>>>
>>>> I am using OpenEJB 3.1, and when I checked the library, the
>>>> "LocalInitialContextFactory" class
>>>> is missing but the "RemoteInitialContextFactory" is available and I
>>>> could
>>>> run the tests remotely,
>>>> but not locally.
>>>>
>>>> I ve been searching forums but could find solution to this problem.
>>>> Can anyone please tell me what is the problem?
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/OpenEJB-3.1-as-embeddable-container-tp25936338p25936338.html
>>>> Sent from the OpenEJB User mailing list archive at Nabble.com.
>>>>
>>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/OpenEJB-3.1-as-embeddable-container-tp25936338p25938290.html
>> Sent from the OpenEJB User mailing list archive at Nabble.com.
>>
>>
> 
> 

-- 
View this message in context: 
http://www.nabble.com/OpenEJB-3.1-as-embeddable-container-tp25936338p25939549.html
Sent from the OpenEJB User mailing list archive at Nabble.com.


No virus found in this incoming message.
Checked by AVG - www.avg.com 
Version: 8.5.422 / Virus Database: 270.14.20/2441 - Release Date: 10/16/09 
18:39:00

Reply via email to