JNDI-Problem on Websphere Application Server
--------------------------------------------

                 Key: TOBAGO-627
                 URL: https://issues.apache.org/jira/browse/TOBAGO-627
             Project: MyFaces Tobago
          Issue Type: Bug
          Components: Core
         Environment: Websphere Application Server (at least version 6.1)
            Reporter: Matthias Wronka


In our Logs on WAS we find several outputs like

[2/21/08 17:12:16:569 CET] 00000022 javaURLContex E   NMSV0310E: A JNDI 
operation on a "java:" name cannot be completed because the server runtime is 
not able to associate the operation's thread with any J2EE application 
component. This condition can occur when the JNDI client using the "java:" name 
is not executed on the thread of a server application request. Make sure that a 
J2EE application does not execute JNDI operations on "java:" names within 
static code blocks or in threads created by that J2EE application. Such code 
does not necessarily run on the thread of a server application request and 
therefore is not supported by JNDI operations on "java:" names. Exception stack 
trace: 
javax.naming.ConfigurationException [Root exception is 
javax.naming.NameNotFoundException: Name "tobago.ajax.contentType" not found in 
context "java:comp/env".]
        at 
com.ibm.ws.naming.java.javaURLContextImpl.throwConfigurationExceptionWithDefaultJavaNS(javaURLContextImpl.java:411)
        at 
com.ibm.ws.naming.java.javaURLContextImpl.lookup(javaURLContextImpl.java:388)
        at 
com.ibm.ws.naming.urlbase.UrlContextImpl.lookup(UrlContextImpl.java:1307)
        at 
com.ibm.ws.naming.java.javaURLContextImpl.lookup(javaURLContextImpl.java:353)
        at 
org.apache.myfaces.tobago.ajax.api.AjaxResponseRenderer.<init>(AjaxResponseRenderer.java:74)
        at 
org.apache.myfaces.tobago.lifecycle.RenderResponseExecutor.<init>(RenderResponseExecutor.java:41)
        at 
org.apache.myfaces.tobago.lifecycle.TobagoLifecycle.<init>(TobagoLifecycle.java:65)
        at 
org.apache.myfaces.tobago.lifecycle.TobagoLifecycleFactory.<init>(TobagoLifecycleFactory.java:36)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:67)
        at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:522)
        at 
javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:547)
        at 
javax.faces.FactoryFinder.getImplementationInstance(FactoryFinder.java:432)
        at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:232)

und

[2/21/08 17:12:16:665 CET] 00000022 javaURLContex E   NMSV0310E: A JNDI 
operation on a "java:" name cannot be completed because the server runtime is 
not able to associate the operation's thread with any J2EE application 
component. This condition can occur when the JNDI client using the "java:" name 
is not executed on the thread of a server application request. Make sure that a 
J2EE application does not execute JNDI operations on "java:" names within 
static code blocks or in threads created by that J2EE application. Such code 
does not necessarily run on the thread of a server application request and 
therefore is not supported by JNDI operations on "java:" names. Exception stack 
trace: 
javax.naming.ConfigurationException [Root exception is 
javax.naming.NameNotFoundException: Name "uploadRepositoryPath" not found in 
context "java:comp/env".]
        at 
com.ibm.ws.naming.java.javaURLContextImpl.throwConfigurationExceptionWithDefaultJavaNS(javaURLContextImpl.java:411)
        at 
com.ibm.ws.naming.java.javaURLContextImpl.lookup(javaURLContextImpl.java:388)
        at 
com.ibm.ws.naming.urlbase.UrlContextImpl.lookup(UrlContextImpl.java:1307)
        at 
com.ibm.ws.naming.java.javaURLContextImpl.lookup(javaURLContextImpl.java:353)
        at 
org.apache.myfaces.tobago.fileupload.FileUploadFacesContextFactoryImpl.<init>(FileUploadFacesContextFactoryImpl.java:79)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:67)

sowie

[2/21/08 17:12:16:695 CET] 00000022 javaURLContex E   NMSV0310E: A JNDI 
operation on a "java:" name cannot be completed because the server runtime is 
not able to associate the operation's thread with any J2EE application 
component. This condition can occur when the JNDI client using the "java:" name 
is not executed on the thread of a server application request. Make sure that a 
J2EE application does not execute JNDI operations on "java:" names within 
static code blocks or in threads created by that J2EE application. Such code 
does not necessarily run on the thread of a server application request and 
therefore is not supported by JNDI operations on "java:" names. Exception stack 
trace: 
javax.naming.ConfigurationException [Root exception is 
javax.naming.NameNotFoundException: Name "uploadMaxFileSize" not found in 
context "java:comp/env".]
        at 
com.ibm.ws.naming.java.javaURLContextImpl.throwConfigurationExceptionWithDefaultJavaNS(javaURLContextImpl.java:411)
        at 
com.ibm.ws.naming.java.javaURLContextImpl.lookup(javaURLContextImpl.java:388)
        at 
com.ibm.ws.naming.urlbase.UrlContextImpl.lookup(UrlContextImpl.java:1307)
        at 
com.ibm.ws.naming.java.javaURLContextImpl.lookup(javaURLContextImpl.java:353)
        at 
org.apache.myfaces.tobago.fileupload.FileUploadFacesContextFactoryImpl.<init>(FileUploadFacesContextFactoryImpl.java:97)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:67)
        at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:522)


"make sure that a J2EE application does not execute JNDI operations...." sounds 
like an issue for the tobago renderers. e.g. I found this Code the fits to the 
first error:

public AjaxResponseRenderer() {
    callback = new EncodeAjaxCallback();
    try {
      InitialContext ic = new InitialContext();
      Context ctx = (Context) ic.lookup("java:comp/env");
      contentType = (String) ctx.lookup("tobago.ajax.contentType");
    } catch (NamingException e) { /*ignore*/ }

    if (StringUtils.isBlank(contentType)) {
      contentType = "text/html";
    }
  }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to