users@glassfish.java.net

Re: NoInitialContextException

From: Sahoo <Sahoo_at_Sun.COM>
Date: Fri, 29 May 2009 22:30:05 +0530

I have put back the changes in trunk. If you want a complete GF build
with the changes, you can use 05/30 nightly when that comes out. If you
just want a patched jar, then download it from
http://download.java.net/maven/glassfish/org/glassfish/common/glassfish-naming/3.0-SNAPSHOT/glassfish-naming-3.0-SNAPSHOT.jar


Don't start downloading now. Wait for a couple of hours for the new
binary to be published there. After downloading, just ensure that the
jar has a class called GlassFishNamingBuilder.class. If it is not there,
then you have downloaded an old binary.

Sahoo


Sahoo wrote:
> Annies,
>
> OK, this is same as issue #8458
> (https://glassfish.dev.java.net/issues/show_bug.cgi?id=8458).
> Yesterday, I sent a proposal to dev@ with a solution to this issue. I
> have a fix, which you have verified separately. So, once the code
> review is done, I can put it back in trunk.
>
> Thanks,
> Sahoo
>
> Annies wrote:
>> I have to set the naming factory because I want my application to
>> work. Along with that, I have to get the osgi-http jar to work also.
>>
>> If I don't set the property osgi-http starts fine but my application
>> fails with a NoInitialContext.
>> If I set the property my application works fine but osgi-http fails
>> with a ClassNotFound.
>> If you can provide any workarounds for getting around this
>> ClassNotFound that should be good for now.
>> This is puzzling because the class is there indeed.
>>
>> The application I am using is a JBI service assembly that is deployed
>> on a JBI component called sun-database-binding.
>> I have not looked at the binding component code yet. But it works
>> fine in V2.
>> If InitialContext(env) would solve this issue for sure, then I can
>> try it out. But it is a relatively long process to get the component
>> updated.
>> I will wait for your response before I go that route.
>>
>>
>> Thanks
>> Annies
>>
>>
>> ------------------------------------------------------------------------
>> *From:* Sahoo <Sahoo_at_Sun.COM>
>> *To:* users_at_glassfish.dev.java.net
>> *Sent:* Wednesday, May 27, 2009 6:10:14 AM
>> *Subject:* Re: NoInitialContextException
>>
>> Don't set any of the java.naming.factory.initial.* system properties.
>> Tell us what error you are seeing. Also tell us what you are trying
>> to do.
>>
>> I don't think we can fix anything 3.0-Preview, as the final build may
>> have been already done. How ever, we should be able to give you a
>> patch or something of that sort. But, first give us the above
>> information.
>>
>> Thanks,
>> Sahoo
>>
>> Annies wrote:
>> > Forgot to mention, we need to resolve this ASAP for a JavaONE lab.
>> >
>> >
>> ------------------------------------------------------------------------
>> > *From:* Annies <annies_a_at_yahoo.com <mailto:annies_a_at_yahoo.com>>
>> > *To:* users_at_glassfish.dev.java.net
>> <mailto:users_at_glassfish.dev.java.net>
>> > *Sent:* Tuesday, May 26, 2009 11:42:21 PM
>> > *Subject:* Re: NoInitialContextException
>> >
>> > Yes. SerialInitContextFactory is in glassfish-naming.properties. So
>> I went ahead and tested my application with the naming factory set to
>> it in system.properties and it works fine.
>> > Actually class lookup is failing somwehre else. This is what made
>> me think that SerialInitContextFactory was not included.
>> >
>> > This can be easily reprouced by using this system.properties and
>> trying to install and start osgi-http.jar -
>> http://download.java.net/maven/glassfish/org/glassfish/web/osgi-http/3.0-b47/osgi-http-3.0-b47.jar
>>
>> > I verified that all the export and import package headers match and
>> tried to use auto install for glassfish-naming.jar and even a
>> DynamicImport-Package from osgi-http.jar. Nothing helped.
>> > Can somebody please look into this?
>> >
>> > system.properties:
>> >
>> java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory
>>
>> > java.naming.factory.url.pkgs=com.sun.enterprise.naming
>> >
>> java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl
>>
>> >
>> > Stack Trace:
>> >
>> [#|2009-05-26T23:30:31.477-0700|INFO|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|ERROR:
>> Error starting
>> file:/Users/annies/gf/glassfishv3/glassfish//modules/osgi-http.jar
>> (org.osgi.framework.BundleException: Activator start error in bundle
>> org.glassfish.web.osgi-http [8].)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.478-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|java.lang.RuntimeException:
>> javax.naming.NoInitialContextException: Cannot instantiate class:
>> com.sun.enterprise.naming.impl.SerialInitContextFactory [Root
>> exception is java.lang.ClassNotFoundException:
>> com.sun.enterprise.naming.impl.SerialInitContextFactory]|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.478-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.<init>(InjectionManagerImpl.java:90)|#]
>>
>> >
>> >
>> [#|2009-05-26T23:30:31.478-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.478-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)|#]
>>
>> >
>> >
>> [#|2009-05-26T23:30:31.478-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)|#]
>>
>> >
>> >
>> [#|2009-05-26T23:30:31.479-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> java.lang.reflect.Constructor.newInstance(Constructor.java:513)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.479-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at java.lang.Class.newInstance0(Class.java:355)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.479-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at java.lang.Class.newInstance(Class.java:308)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.480-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> com.sun.hk2.component.ConstructorWomb.create(ConstructorWomb.java:72)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.480-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:71)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.480-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:58)|#]
>>
>> >
>> >
>> [#|2009-05-26T23:30:31.480-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:107)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.480-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:60)|#]
>>
>> >
>> >
>> [#|2009-05-26T23:30:31.481-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> org.jvnet.hk2.component.Habitat.getByContract(Habitat.java:570)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.481-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> com.sun.enterprise.web.EmbeddedWebContainer.<init>(EmbeddedWebContainer.java:114)|#]
>>
>> >
>> >
>> [#|2009-05-26T23:30:31.481-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> com.sun.enterprise.web.WebContainer.postConstruct(WebContainer.java:522)|#]
>>
>> >
>> >
>> [#|2009-05-26T23:30:31.481-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> com.sun.hk2.component.AbstractWombImpl.inject(AbstractWombImpl.java:170)|#]
>>
>> >
>> >
>> [#|2009-05-26T23:30:31.481-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> com.sun.hk2.component.ConstructorWomb$1.run(ConstructorWomb.java:90)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.481-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at java.security.AccessController.doPrivileged(Native Method)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.481-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> com.sun.hk2.component.ConstructorWomb.initialize(ConstructorWomb.java:87)|#]
>>
>> >
>> >
>> [#|2009-05-26T23:30:31.482-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> com.sun.hk2.component.AbstractWombImpl.get(AbstractWombImpl.java:77)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.482-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> com.sun.hk2.component.SingletonInhabitant.get(SingletonInhabitant.java:58)|#]
>>
>> >
>> >
>> [#|2009-05-26T23:30:31.482-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> com.sun.hk2.component.LazyInhabitant.get(LazyInhabitant.java:107)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.482-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> com.sun.hk2.component.AbstractInhabitantImpl.get(AbstractInhabitantImpl.java:60)|#]
>>
>> >
>> >
>> [#|2009-05-26T23:30:31.485-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at org.jvnet.hk2.component.Habitat.getBy(Habitat.java:576)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.485-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at org.jvnet.hk2.component.Habitat.getByType(Habitat.java:557)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.488-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> org.jvnet.hk2.component.Habitat.getComponent(Habitat.java:317)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.488-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at org.glassfish.internal.api.Globals.get(Globals.java:53)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.488-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> org.glassfish.web.osgihttp.Activator.getStandardContext(Activator.java:94)|#]
>>
>> >
>> >
>> [#|2009-05-26T23:30:31.488-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> org.glassfish.web.osgihttp.Activator.start(Activator.java:86)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.488-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:589)|#]
>>
>> >
>> >
>> [#|2009-05-26T23:30:31.488-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> org.apache.felix.framework.Felix.startBundle(Felix.java:1458)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.489-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:984)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.489-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:263)|#]
>>
>> >
>> >
>> [#|2009-05-26T23:30:31.489-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at java.lang.Thread.run(Thread.java:637)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.489-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|Caused
>> by: javax.naming.NoInitialContextException: Cannot instantiate class:
>> com.sun.enterprise.naming.impl.SerialInitContextFactory [Root
>> exception is java.lang.ClassNotFoundException:
>> com.sun.enterprise.naming.impl.SerialInitContextFactory]|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.489-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)|#]
>>
>> >
>> >
>> [#|2009-05-26T23:30:31.492-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)|#]
>>
>> >
>> >
>> [#|2009-05-26T23:30:31.493-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at javax.naming.InitialContext.init(InitialContext.java:223)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.493-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at javax.naming.InitialContext.<init>(InitialContext.java:175)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.493-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> com.sun.enterprise.container.common.impl.util.InjectionManagerImpl.<init>(InjectionManagerImpl.java:88)|#]
>>
>> >
>> >
>> [#|2009-05-26T23:30:31.494-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> ... 33 more|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.495-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|Caused
>> by: java.lang.ClassNotFoundException:
>> com.sun.enterprise.naming.impl.SerialInitContextFactory|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.495-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at java.net <http://java.net>
>> <http://java.net>.URLClassLoader$1.run(URLClassLoader.java:200)|#
>> <http://java.net%3E.URLClassLoader$1.run%28URLClassLoader.java:200%29%7C#>]
>>
>> >
>> >
>> [#|2009-05-26T23:30:31.496-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at java.security.AccessController.doPrivileged(Native Method)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.496-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at java.net
>> <http://java.net.URLClassLoader.fi>.URLClassLoader.findClass(URLClassLoader.java:188)|#
>> <http://java.net.URLClassLoader.fi%3E.URLClassLoader.findClass%28URLClassLoader.java:188%29%7C#>]
>>
>> >
>> >
>> [#|2009-05-26T23:30:31.497-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:316)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.497-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.497-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.498-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at java.lang.Class.forName0(Native Method)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.499-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at java.lang.Class.forName(Class.java:247)|#]
>> >
>> >
>> [#|2009-05-26T23:30:31.503-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:46)|#]
>>
>> >
>> >
>> [#|2009-05-26T23:30:31.503-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> at
>> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654)|#]
>>
>> >
>> >
>> [#|2009-05-26T23:30:31.503-0700|SEVERE|glassfish|null|_ThreadID=11;_ThreadName=Thread-1;|
>> ... 37 more|#]
>> >
>> >
>> ------------------------------------------------------------------------
>> > *From:* Sahoo <Sahoo_at_Sun.COM <mailto:Sahoo_at_Sun.COM>>
>> > *To:* users_at_glassfish.dev.java.net
>> <mailto:users_at_glassfish.dev.java.net>
>> > *Sent:* Tuesday, May 26, 2009 12:49:14 PM
>> > *Subject:* Re: NoInitialContextException
>> >
>> > That class is there in modules/glassfish-naming.jar. So, something
>> else is going wrong here. It appears that GlassFish naming manager is
>> not currently designed to work in an OSGi environment. Did you do a
>> new InitialContext() in your code? If yes, as a work around, just try
>> doing a *new InitialContext(env)* where env contains the property
>> name/value pair.
>> >
>> > Sahoo
>> >
>> > Annies wrote:
>> > > I have bundle that does some JNDI lookup. This used to work fine
>> in V3 until recently.
>> > > Before using build 47, I used to set this property in Felix
>> system.properties
>> > >
>> java.naming.factory.initial=com.sun.enterprise.naming.impl.SerialInitContextFactory
>>
>> > >
>> > > The class SerialInitContextFactory is not included in latest
>> builds. How should I fix this?
>> > >
>> > >
>> > >
>> [#|2009-05-26T12:17:57.375-0700|WARNING|glassfish|com.sun.jbi.sun-database-binding.org.glassfish.openesb.databasebc.OutboundMessageProcessor|_ThreadID=28;_ThreadName=Thread-1;|Failed
>> to write message:.
>> > > javax.naming.NoInitialContextException: Need to specify class
>> name in environment or system property, or as an applet parameter, or
>> in an application resource file: java.naming.factory.initial
>> > > at
>> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
>> > > at
>> javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
>> > > at
>> javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325)
>>
>> > > at
>> javax.naming.InitialContext.lookup(InitialContext.java:392)
>> > > at
>> org.glassfish.openesb.databasebc.OutboundMessageProcessor.getDataSourceFromContext(OutboundMessageProcessor.java:1289)
>>
>> > > at
>> org.glassfish.openesb.databasebc.OutboundMessageProcessor.getDatabaseConnection(OutboundMessageProcessor.java:1316)
>>
>> > > at
>> org.glassfish.openesb.databasebc.OutboundMessageProcessor.processInOnly(OutboundMessageProcessor.java:1079)
>>
>> > > at
>> org.glassfish.openesb.databasebc.OutboundMessageProcessor.execute(OutboundMessageProcessor.java:273)
>>
>> > > at
>> org.glassfish.openesb.databasebc.OutboundMessageProcessor.run(OutboundMessageProcessor.java:164)
>>
>> > > at
>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
>>
>> > > at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
>>
>> > > at java.lang.Thread.run(Thread.java:637)
>> > > |#]
>> > >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
>> <mailto:users-unsubscribe_at_glassfish.dev.java.net>
>> <mailto:users-unsubscribe_at_glassfish.dev.java.net
>> <mailto:users-unsubscribe_at_glassfish.dev.java.net>>
>> > For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>> <mailto:users-help_at_glassfish.dev.java.net>
>> <mailto:users-help_at_glassfish.dev.java.net
>> <mailto:users-help_at_glassfish.dev.java.net>>
>> >
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
>> <mailto:users-unsubscribe_at_glassfish.dev.java.net>
>> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>> <mailto:users-help_at_glassfish.dev.java.net>
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>