Andreas,

As far as I know, the InitialContext (from your JDK) has a kind of failback
mechanism.
If no properties are used (new InitialContext() or new
InitialContext(null)), a set of properties will be built using env params,
applet params, system params and then jndi.properties params.

So from my point of view, you can create a jndi.properties and put it in
your classpath. The jndi.properties file must contain a line
java.naming.factory.initial=org.apache.openejb.client.LocalInitialContextFactory

But, I think there is a problem within Tomcat cause Tomcat puts its own
InitialContext Factory implementation first, so you will never be able to
use your InitialContext Factory using standard mechanisms.
See http://wiki.apache.org/tomcat/FAQ/Miscellaneous#Q22

Regards,
Jean-Louis



Andreas Karalus wrote:
> 
> Jean Louis,
> 
> thank you for your quick reply. 
> I start openejb in the way you described, and the startup is fine. 
> I am also able to test some ejbs.
> However, if somewhere in our code, a new InitialContext is initialized, I
> get the exception.
> 
> so basically I have following configuration:
> 
> class Beanfactory{
>  
>  static void initContainer() {
>    Properties properties = new Properties();
>     
>    properties.put(Context.INITIAL_CONTEXT_FACTORY, 
>         "org.openejb.client.LocalInitialContextFactory");
>     
>    // THIS WORKS FINE
>    InitialContext ctx = new InitialContext(properties);
> }
> 
> I want to test code that performs itself a "InitialContext ctx = new
> InitialContext()". This works well with jboss.embedded, but fails with
> openejb. 
> For jboss.embedded we use a jndi.properties as configuration. so if the
> file is present in classpath, new IntialContext() works fine. I wonder if
> there is a similar configuration in openejb? 
> 
> thx,
> andreas
> 
> p.s. here is the data in jndi.properties
> 
> java.naming.factory.initial=org.jnp.interfaces.LocalOnlyContextFactory
> java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
> 
> 
> 
> Jean-Louis MONTEIRO wrote:
>> 
>> Andreas,
>> 
>> Seems like you are still using JBoss InitialContext implementation. 
>> Did you set your system properties to use OpenEJB InitialContextFactory ?
>> 
>> Properties properties = new Properties();
>>     
>> properties.put(Context.INITIAL_CONTEXT_FACTORY, 
>>         "org.openejb.client.LocalInitialContextFactory");
>>     
>> InitialContext ctx = new InitialContext(properties);
>> 
>> Regards,
>> Jean-Louis
>> 
>> 
>> Andreas Karalus wrote:
>>> 
>>> first of all, I would like to thank all the people in forum for the
>>> quick responses. openejb looks like solid piece of software.
>>> 
>>> however, i'm still running into problems while trying to migrate our
>>> jboss embedded tests to openejb. 
>>> 
>>> booting of openejb works fine, however, we have some places in our code
>>> where we do a new InitialContext(). whenever this code is reached while
>>> openejb is running, I get a javax.naming.NamingException
>>> 
>>> INFO - Deployed
>>> Application(path=D:\projekte\HEAD\ed02\env\testframework\target\classes)
>>> javax.naming.NamingException: Local server is not initialized
>>>     at
>>> org.jnp.interfaces.LocalOnlyContextFactory.getInitialContext(LocalOnlyContextFactory.java:45)
>>>     at
>>> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
>>>     at
>>> javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
>>>     at javax.naming.InitialContext.init(InitialContext.java:223)
>>>     at javax.naming.InitialContext.<init>(InitialContext.java:175)
>>> ... 
>>> 
>>> any ideas welcome,
>>> regards,
>>> andreas
>>> 
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/%22Local-server-is-not-initialized%22-tp19396008p19409584.html
Sent from the OpenEJB User mailing list archive at Nabble.com.

Reply via email to