  | Mailing List | | Home | | Forum Home | | JBoss - Java Application Server | | Tomcat - JSP/Servlet container | | Struts - A MVC web framework | | iText - An open source PDF Java Library | | JDOM - JDOM XML Parser | | J2EE - A mailing list for Java(tm) 2 Platform, Enterprise Edition | | JSP - A mailing list about Java Server Pages specification and reference | | J2EE Pattern - An interest list for Sun Java Center J2EE Pattern Catalog | | Servlet - A mailing list for discussion about Sun Microsystem's Java Servlet API Technology | |
Struts & Hibernate
|
|
|
  | | | Error: Name jdbc is not bound in this context | Error: Name jdbc is not bound in this context 2007-01-11 - By robi
Back
Dear all,
I am trying to use JDBC and transactions in Tomcat 5.5.20 with JOTM (as explained this tutorial http://jotm.objectweb.org/current/jotm/doc/howto-tomcat-jotm.html).
But I am getting the following error when I do http://localhost:8080/dbtest/test.jsp,
" javax.naming.NameNotFoundException :Name jdbc is not bound in this context " As far as I understood by reading this error normally occurs when the resource-env-ref in the web.xml does not match with the name in context.xml but in my files I have the same names.
I am using mysql 5.0.18.
My context.xml looks like this, <Context path="/dbtest" docBase="dbtest.war" debug="0" reloadable="true" crossContext="true"> <Resource name="jdbc/myDB" auth="Container" type="javax.sql.DataSource "/> <ResourceParams name="jdbc/myDB"> <parameter> <name>factory</name> <value>org.objectweb.jndi.DataSourceFactory</value> </parameter> <parameter><name>username</name><value>mojo</value></parameter> <parameter><name>password</name><value>mojo</value></parameter> <parameter><name>driverClassName</name> <value>com.mysql.jdbc.Driver </value> </parameter> <parameter><name>url</name> <value>jdbc:mysql://localhost/javatest</value></parameter> </ResourceParams> <Resource name="UserTransaction" auth="Container" type="javax.transaction.UserTransaction "/> <ResourceParams name="UserTransaction"> <parameter> <name>factory</name> <value>org.objectweb.jotm.UserTransactionFactory</value> </parameter> <parameter> <name>jotm.timeout</name> <value>60</value> </parameter> </ResourceParams> </Context>
My web.xml, <web-app> <resource-env-ref> <description>DB Connection</description> <resource-env-ref-name>jdbc/myDB</resource-env-ref-name> <resource-env-ref-type>javax.sql.DataSource </resource-env-ref-type> </resource-env-ref> </web-app>
my DBtest.java,
public class DBTest { int foo=-1; public void init(String completion) { try { Context ctx=new InitialContext(); Context envctx=(Context) ctx.lookup("java:comp/env"); DataSource ds= (DataSource) envctx.lookup("jdbc/myDB"); UserTransaction ut= (UserTransaction)ctx.lookup("java:comp/UserTransaction"); java.sql.Connection conn=ds.getConnection(); System.out.println("beginning the transation"); ut.begin(); java.sql.Statement stmt= conn.createStatement(); ResultSet rst= stmt.executeQuery("select id,foo from testdata"); if(rst.next()) { foo=rst.getInt(2); } System.out.println("foo =" +"(before completion"); PreparedStatement pstmt=conn.prepareStatement("update testdate set foo=? where id=1"); pstmt.setInt(1,++foo); pstmt.executeUpdate(); if(completion !=null && completion.equals("commit")) { System.out.println("committing the transaction"); ut.commit(); } else { System.out.println("rolling back the transaction"); ut.rollback(); } rst=stmt.executeQuery("select id,foo from testdata"); if(rst.next()) { foo=rst.getInt(2); } System.out.println("foo =" +foo +"(after completion)"); conn.close(); System.out.println("done"); } catch(Exception e) { e.printStackTrace(); } }
public String getFoo() { return ""+foo; } }
I am stuggling with this for the past two days.Can anyone please tell me where did I go wrong and how can I get rid of this error. Thanks in advance!
regards, robi -- View this message in context: http://www.nabble.com/Error%3A-Name-jdbc-is-not -bound-in-this-context-tf2958032.html#a8275077 Sent from the Tomcat - User mailing list archive at Nabble.com.
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ------ To start a new topic, e-mail: users@(protected) To unsubscribe, e-mail: users-unsubscribe@(protected) For additional commands, e-mail: users-help@(protected)
|
|
 |