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 13:16:46 GMT
A bit more info which i think might be relevant.

When i run it on my desktop i ran it directly from within Netbeans but when
i run it on the Unix server i export the project as a war file (within
netbeans) and copy it into the webapps directory on the Unix environment.

Is it possible that netbeans is including some libraries that are not
available on the Unix environment when i run it on the desktop?


On Thu, Oct 2, 2008 at 1:48 PM, Ziggy O <dini25@gmail.com> 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
>>
>>
>

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