tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ziggy O" <din...@gmail.com>
Subject Re: javax.naming.NamingException: Cannot create resource instance
Date Thu, 02 Oct 2008 17:15:53 GMT
Yes it looks like that fact it is named with uppercase C was the problem. I
renamed it to context.xml and it finally worked.

Thank you all for your help.



On Thu, Oct 2, 2008 at 5:59 PM, David Smith <dns4@cornell.edu> wrote:

> We have a winner!
> The Windows file system is one of the few (the only one I can think of)
> that's not case sensitive.  Unix, linux, bsd, macos, etc. , ... are all case
> sensitive.  You should change the file name 'Context.xml' to 'context.xml'
> and check to be sure it stays that way as you build your .war file.  After
> that you won't need to have testapp.xml in conf/Catalina/localhost.  Also
> you might want to check all the places in your webapp that references a file
> and be sure the names match in case to what's on disk.
>
>
> --David
>
> Ziggy O wrote:
>
>> Hi,
>>
>> The tomcat version on my Desktop is 5.5.27 and the Tomcat version on the
>> Unix environment is 5.5.23. Could the above minor version difference
>> cause
>> it?
>>
>> One thing i have noticed is that if i take the /META-INF/Context.xml file
>> and copy it into $CATALINA_HOME/conf/Catalina/localhost/testapp.xml it
>> does
>> work.
>>
>> i.e. why does it require the context file in that directory and why does
>> it
>> have to be renamed to my applications context. On the Windows environment
>> i
>> dont have to rename and copy the context file to
>> $CATALINA_HOME/conf/Catalina/localhost
>>
>> Thanks
>>
>>
>>
>> On Thu, Oct 2, 2008 at 12:55 PM, David Smith <dns4@cornell.edu> wrote:
>>
>>
>>
>>> Ok...
>>>
>>> 1) I don't see a tomcat version, could you post that?
>>> 2) Are you sure the tomcat version on the production environment the same
>>> as your dev system?
>>> 3) This is probably not causing the immediate problem, but <res-type> ...
>>> </res-type> in your web.xml should be javax.sql.Datasource, not
>>> oracle.jdbc.pool.OracleDataSource.
>>>
>>> --David
>>>
>>>
>>> Ziggy O wrote:
>>>
>>>
>>>
>>>> No mate that was the full stack trace.
>>>>
>>>> Thanks
>>>>
>>>>
>>>> On Wed, Oct 1, 2008 at 7:02 PM, David Smith <dns4@cornell.edu> wrote:
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>> Seems like such a generic error would have a root cause.  Was there
>>>>> anything more to the stack trace?
>>>>>
>>>>> --David
>>>>>
>>>>>
>>>>> Ziggy O wrote:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I am trying to connect to an oracle database but cant seem to get
the
>>>>>> jdbc
>>>>>> connection to work. I am developing the application on a Windows
>>>>>> desktop
>>>>>> and
>>>>>> transferring it onto a Unix box.
>>>>>>
>>>>>> When i test it on the Windows environmnet it does manage to connect
>>>>>> but
>>>>>> if
>>>>>> i
>>>>>> test it on unix then i get an error. My gut feeling is that the
>>>>>> installation
>>>>>> on the unix environment is missing a library but i cant figure out
>>>>>> what
>>>>>> it
>>>>>> is.
>>>>>>
>>>>>> Here is how i am trying to get the jndi connection.
>>>>>>
>>>>>> [code]
>>>>>> String fullname;
>>>>>>      if (jndiPrefix != null && jndiPrefix.length() > 0)
>>>>>>          fullname = jndiPrefix + datasource;
>>>>>>      else
>>>>>>          fullname = datasource;
>>>>>>
>>>>>>      // JNDI
>>>>>>      Context ctx = null;
>>>>>>      DataSource ds = null;
>>>>>>      Connection conn = null;
>>>>>>
>>>>>>      try
>>>>>>      {
>>>>>>          ctx = new InitialContext();
>>>>>>          Context envContext  = (Context)ctx.lookup("java:/comp/env");
>>>>>>          if (ctx != null)
>>>>>>          {
>>>>>>              ds = (DataSource)envContext.lookup(fullname);
>>>>>>              if (ds != null)
>>>>>>              {
>>>>>>                  conn = ds.getConnection();
>>>>>>              }
>>>>>>          }
>>>>>>      }
>>>>>> [/code]
>>>>>>
>>>>>> And here is the Configuration.
>>>>>>
>>>>>> Context.xml (User and password modified)
>>>>>>
>>>>>> [code]
>>>>>>  <Resource name="jdbc/theDb" auth="Container"
>>>>>>                    type="javax.sql.DataSource"
>>>>>> driverClassName="oracle.jdbc.driver.OracleDriver"
>>>>>>                    url="jdbc:oracle:thin:@localhost:1521:webdev"
>>>>>>                    username="webuser" password="webuser"
>>>>>> maxActive="20"
>>>>>> maxIdle="10"
>>>>>>                    maxWait="-1"/>
>>>>>> [/code]
>>>>>>
>>>>>> web.xml
>>>>>>
>>>>>> [code]
>>>>>>  <resource-ref>
>>>>>>   <description>Oracle Datasource</description>
>>>>>>   <res-ref-name>jdbc/theDb</res-ref-name>
>>>>>>   <res-type>oracle.jdbc.pool.OracleDataSource</res-type>
>>>>>>   <res-auth>Container</res-auth>
>>>>>>  </resource-ref>
>>>>>>
>>>>>> [/code]
>>>>>>
>>>>>> And here is the stack trace of the error
>>>>>>
>>>>>> [code]
>>>>>> javax.naming.NamingException: Cannot create resource instance
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:143)
>>>>>>      at javax.naming.spi.NamingManager.getObjectInstance(Unknown
>>>>>> Source)
>>>>>>      at org.apache.naming.NamingContext.lookup(NamingContext.java:793)
>>>>>>      at org.apache.naming.NamingContext.lookup(NamingContext.java:140)
>>>>>>      at org.apache.naming.NamingContext.lookup(NamingContext.java:781)
>>>>>>      at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
>>>>>>      at
>>>>>>
>>>>>> com.bt.ccs21.util.DbConnection.getJNDIConnection(DbConnection.java:334)
>>>>>>      at
>>>>>>
>>>>>> com.bt.ccs21.util.DbConnection.getJNDIConnection(DbConnection.java:256)
>>>>>>      at
>>>>>>
>>>>>> com.bt.ccs21.util.DbConnection.getJRunConnection(DbConnection.java:286)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> com.bt.ccs21.presentation.events.admin.LogonActionPost.preAction(LogonActionPost.java:118)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> com.bt.ccs21.presentation.events.CCS21EventAction.execute(CCS21EventAction.java:29)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
>>>>>>      at
>>>>>> org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
>>>>>>      at
>>>>>> org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
>>>>>>      at
>>>>>>
>>>>>> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
>>>>>>      at
>>>>>> org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
>>>>>>      at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
>>>>>>      at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
>>>>>>      at java.lang.Thread.run(Unknown Source)
>>>>>> "/tmp/crmsauth.log.20081001" 561 lines, 48080 characters
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
>>>>>>      at
>>>>>>
>>>>>>
>>>>>>
>>>>>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
>>>>>>      at java.lang.Thread.run(Unknown Source)
>>>>>> [/code]
>>>>>>
>>>>>> What i dont understand is why it works on the installation on the
>>>>>> windows
>>>>>> environment but not in the Unix environment. I check all the libraries
>>>>>> and
>>>>>> everything under common/lib is the same for both environments.
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> Edited by: ziggy on Oct 1, 2008 3:48 PM
>>>>>>
>>>>>> Edited by: ziggy on Oct 1, 2008 3:50 PM
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To start a new topic, e-mail: users@tomcat.apache.org
>>>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>> ---------------------------------------------------------------------
>>> To start a new topic, e-mail: users@tomcat.apache.org
>>> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
>>> For additional commands, e-mail: users-help@tomcat.apache.org
>>>
>>>
>>>
>>>
>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message