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.