Hello, I have been tasked with moving an application from a JBoss application server to Tomcat 7. The application is using hibernate to establish a connection pool as I understand it. I've got Tomcat running under the standard ports and have deployed the application. The SQL Server .jar file is placed in the catalina_home/lib directory. The problem with getting the app to run correctly from the logs that I'm reading appears to be that the database driver isn't loading. I'm new to Tomcat so I might be misinterpreting this. I'm including a copy of Catalina.out and also my context.xml, and hibernate.cfg.xml files. Any help would be greatly appreciated.
David Vosbury Apr 01, 2013 5:10:02 PM org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib Apr 01, 2013 5:10:03 PM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["http-bio-8080"] Apr 01, 2013 5:10:03 PM org.apache.coyote.AbstractProtocol init INFO: Initializing ProtocolHandler ["ajp-bio-8009"] Apr 01, 2013 5:10:03 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 3249 ms Apr 01, 2013 5:10:03 PM org.apache.catalina.core.StandardService startInternal INFO: Starting service Catalina Apr 01, 2013 5:10:03 PM org.apache.catalina.core.StandardEngine startInternal INFO: Starting Servlet Engine: Apache Tomcat/7.0.37 Apr 01, 2013 5:10:03 PM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory /tomcat/tomcat1/apache-tomcat-7.0.37/webapps/host-manager Apr 01, 2013 5:10:05 PM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory /tomcat/tomcat1/apache-tomcat-7.0.37/webapps/SystemsMadeSimple Apr 01, 2013 5:10:14 PM org.apache.catalina.startup.TaglibUriRule body INFO: TLD skipped. URI: http://struts.apache.org/tags-bean is already defined Apr 01, 2013 5:10:14 PM org.apache.catalina.startup.TaglibUriRule body INFO: TLD skipped. URI: http://struts.apache.org/tags-html is already defined Apr 01, 2013 5:10:15 PM org.apache.catalina.startup.TaglibUriRule body INFO: TLD skipped. URI: http://struts.apache.org/tags-logic is already defined Apr 01, 2013 5:10:15 PM org.apache.catalina.startup.TaglibUriRule body INFO: TLD skipped. URI: http://struts.apache.org/tags-nested is already defined Apr 01, 2013 5:10:15 PM org.apache.catalina.startup.TaglibUriRule body INFO: TLD skipped. URI: http://struts.apache.org/tags-tiles is already defined WebConfig Initialization Started @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Apr 01, 2013 5:10:17 PM org.hibernate.cfg.Environment <clinit> INFO: Hibernate 3.0.5 Apr 01, 2013 5:10:17 PM org.hibernate.cfg.Environment <clinit> INFO: hibernate.properties not found Apr 01, 2013 5:10:17 PM org.hibernate.cfg.Environment <clinit> INFO: using CGLIB reflection optimizer Apr 01, 2013 5:10:17 PM org.hibernate.cfg.Environment <clinit> INFO: using JDK 1.4 java.sql.Timestamp handling Apr 01, 2013 5:10:17 PM org.hibernate.cfg.Configuration configure INFO: configuring from resource: /hibernate.cfg.xml Apr 01, 2013 5:10:17 PM org.hibernate.cfg.Configuration getConfigurationInputStream INFO: Configuration resource: /hibernate.cfg.xml Apr 01, 2013 5:10:17 PM org.hibernate.cfg.Configuration addResource INFO: Mapping resource: com/systemsmadesimple/hibernate/SMSuser.hbm.xml Apr 01, 2013 5:10:18 PM org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues INFO: Mapping class: com.systemsmadesimple.hibernate.SMSuser -> SMSuser Apr 01, 2013 5:10:18 PM org.hibernate.cfg.Configuration addResource INFO: Mapping resource: com/systemsmadesimple/hibernate/News.hbm.xml Apr 01, 2013 5:10:18 PM org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues INFO: Mapping class: com.systemsmadesimple.hibernate.News -> news Apr 01, 2013 5:10:18 PM org.hibernate.cfg.Configuration addResource INFO: Mapping resource: com/systemsmadesimple/hibernate/Staff.hbm.xml Apr 01, 2013 5:10:18 PM org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues INFO: Mapping class: com.systemsmadesimple.hibernate.Staff -> staff Apr 01, 2013 5:10:18 PM org.hibernate.cfg.Configuration addResource INFO: Mapping resource: com/systemsmadesimple/hibernate/Contract.hbm.xml Apr 01, 2013 5:10:18 PM org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues INFO: Mapping class: com.systemsmadesimple.hibernate.Contract -> contract Apr 01, 2013 5:10:18 PM org.hibernate.cfg.Configuration addResource INFO: Mapping resource: com/systemsmadesimple/hibernate/Philanthropy.hbm.xml Apr 01, 2013 5:10:18 PM org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues INFO: Mapping class: com.systemsmadesimple.hibernate.Philanthropy -> philanthropy Apr 01, 2013 5:10:18 PM org.hibernate.cfg.Configuration addResource INFO: Mapping resource: com/systemsmadesimple/hibernate/Customer.hbm.xml Apr 01, 2013 5:10:18 PM org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues INFO: Mapping class: com.systemsmadesimple.hibernate.Customer -> customer Apr 01, 2013 5:10:18 PM org.hibernate.cfg.Configuration addResource INFO: Mapping resource: com/systemsmadesimple/hibernate/Service.hbm.xml Apr 01, 2013 5:10:19 PM org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues INFO: Mapping class: com.systemsmadesimple.hibernate.Service -> service Apr 01, 2013 5:10:19 PM org.hibernate.cfg.Configuration doConfigure INFO: Configured SessionFactory: null Apr 01, 2013 5:10:19 PM org.hibernate.cfg.Configuration secondPassCompile INFO: processing extends queue Apr 01, 2013 5:10:19 PM org.hibernate.cfg.Configuration secondPassCompile INFO: processing collection mappings Apr 01, 2013 5:10:19 PM org.hibernate.cfg.Configuration secondPassCompile INFO: processing association property references Apr 01, 2013 5:10:19 PM org.hibernate.cfg.Configuration secondPassCompile INFO: processing foreign key constraints Apr 01, 2013 5:10:19 PM org.hibernate.util.NamingHelper getInitialContext INFO: JNDI InitialContext properties:{} Apr 01, 2013 5:10:19 PM org.hibernate.connection.DatasourceConnectionProvider configure INFO: Using datasource: java:comp/env/jdbc/smswebdb Apr 01, 2013 5:10:19 PM org.hibernate.cfg.SettingsFactory buildSettings WARNING: Could not obtain connection metadata org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'jdbc:sqlserver://10.2.152.11:1433;databaseName=SMSwebDB;SelectMethod=Cursor;' at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1452) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) at org.hibernate.connection.DatasourceConnectionProvider.getConnection(DatasourceConnectionProvider.java:59) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:72) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:1463) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1004) at com.systemsmadesimple.hibernate.HibernateUtil.<clinit>(HibernateUtil.java:43) at com.systemsmadesimple.hibernate.DatabaseManager.getDbInfo(DatabaseManager.java:23) at com.systemsmadesimple.struts.WebConfig.initialize(WebConfig.java:40) at com.systemsmadesimple.ServletInitializer.init(ServletInitializer.java:92) at javax.servlet.GenericServlet.init(GenericServlet.java:160) at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5033) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5317) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1114) at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1673) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722) Caused by: java.sql.SQLException: No suitable driver at java.sql.DriverManager.getDriver(DriverManager.java:289) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1437) ... 28 more Apr 01, 2013 5:10:19 PM org.hibernate.dialect.Dialect <init> INFO: Using dialect: org.hibernate.dialect.SQLServerDialect Apr 01, 2013 5:10:19 PM org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory INFO: Transaction strategy: org.hibernate.transaction.JTATransactionFactory Apr 01, 2013 5:10:19 PM org.hibernate.util.NamingHelper getInitialContext INFO: JNDI InitialContext properties:{} Apr 01, 2013 5:10:19 PM org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup INFO: instantiating TransactionManagerLookup: org.hibernate.transaction.JBossTransactionManagerLookup Apr 01, 2013 5:10:19 PM org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup INFO: instantiated TransactionManagerLookup Apr 01, 2013 5:10:19 PM org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup INFO: instantiating TransactionManagerLookup: org.hibernate.transaction.JBossTransactionManagerLookup Apr 01, 2013 5:10:19 PM org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup INFO: instantiated TransactionManagerLookup Apr 01, 2013 5:10:19 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Automatic flush during beforeCompletion(): disabled Apr 01, 2013 5:10:19 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Automatic session close at end of transaction: disabled Apr 01, 2013 5:10:19 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Scrollable result sets: disabled Apr 01, 2013 5:10:19 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: JDBC3 getGeneratedKeys(): disabled Apr 01, 2013 5:10:19 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Connection release mode: null Apr 01, 2013 5:10:19 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Default schema: SMSWebDB Apr 01, 2013 5:10:19 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Default batch fetch size: 1 Apr 01, 2013 5:10:19 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Generate SQL with comments: disabled Apr 01, 2013 5:10:19 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Order SQL updates by primary key: disabled Apr 01, 2013 5:10:19 PM org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory Apr 01, 2013 5:10:19 PM org.hibernate.hql.ast.ASTQueryTranslatorFactory <init> INFO: Using ASTQueryTranslatorFactory Apr 01, 2013 5:10:19 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Query language substitutions: {} Apr 01, 2013 5:10:19 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Second-level cache: enabled Apr 01, 2013 5:10:19 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Query cache: enabled Apr 01, 2013 5:10:20 PM org.hibernate.cfg.SettingsFactory createCacheProvider INFO: Cache provider: org.hibernate.cache.EhCacheProvider Apr 01, 2013 5:10:20 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Optimize cache for minimal puts: disabled Apr 01, 2013 5:10:20 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Structured second-level cache entries: disabled Apr 01, 2013 5:10:20 PM org.hibernate.cfg.SettingsFactory createQueryCacheFactory INFO: Query cache factory: org.hibernate.cache.StandardQueryCacheFactory Apr 01, 2013 5:10:20 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Statistics: disabled Apr 01, 2013 5:10:20 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Deleted entity synthetic identifier rollback: disabled Apr 01, 2013 5:10:20 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Default entity-mode: pojo NewsServlet started Apr 01, 2013 5:10:20 PM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory /tomcat/tomcat1/apache-tomcat-7.0.37/webapps/manager Apr 01, 2013 5:10:20 PM org.apache.catalina.startup.HostConfig deployDirectory INFO: Deploying web application directory /tomcat/tomcat1/apache-tomcat-7.0.37/webapps/ROOT Apr 01, 2013 5:10:21 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"] Apr 01, 2013 5:10:21 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-bio-8009"] Apr 01, 2013 5:10:21 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 18035 ms HOME >> reinitializing data Apr 01, 2013 5:11:30 PM org.apache.jasper.compiler.TldLocationsCache tldScanJar INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve star tup time and JSP compilation time. HOME >> reinitializing data Contents of context.xml <?xml version='1.0' encoding='utf-8'?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <!-- The contents of this file will be loaded for each web application --> <Context> <!-- Default set of monitored resources --> <WatchedResource>WEB-INF/web.xml</WatchedResource> <!-- Uncomment this to disable session persistence across Tomcat restarts --> <!-- <Manager pathname="" /> --> <!-- Uncomment this to enable Comet connection tacking (provides events on session expiration as well as webapp lifecycle) --> <!-- <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" /> --> <Resource name="jdbc/smswebdb" auth="Container" driverclassname="com.microsoft.sqlserver.jdbc.SQLServerDriver" maxactive="100" maxidle="30" maxwait="10000" username="SMSWEB_user" password="SMSWP*D#1AHqX1" type="javax.sql.DataSource" url="jdbc:sqlserver://10.2.152.11:1433;databaseName=SMSwebDB;SelectMethod=Cursor;"> </Resource> <!-- <resource-ref> <description> Resource reference to a factory for java.sql.Connection instances that may be used for talking to the database that is configured in context.xml. </description> <res-ref-name>jdbc/smswebdb</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> --> </Context> <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <!-- Generated by MyEclipse Hibernate Tools. --> <hibernate-configuration> <session-factory> <property name="connection.datasource">java:comp/env/jdbc/smswebdb</property> <property name="default_schema">SMSWebDB</property> <property name="dialect">org.hibernate.dialect.SQLServerDialect</property> <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory</property> <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup</property> <property name="hibernate.show_sql">false</property> <!-- Configure L2 cache --> <property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property> <!-- <property name="hibernate.cache.provider_class">net.sf.ehcache.hibernate.EhCacheProvider</property> --> <property name="hibernate.cache.use_second_level_cache">true</property> <property name="hibernate.cache.use_query_cache">true</property> <mapping resource="com/systemsmadesimple/hibernate/SMSuser.hbm.xml" /> <mapping resource="com/systemsmadesimple/hibernate/News.hbm.xml" /> <mapping resource="com/systemsmadesimple/hibernate/Staff.hbm.xml" /> <mapping resource="com/systemsmadesimple/hibernate/Contract.hbm.xml" /> <mapping resource="com/systemsmadesimple/hibernate/Philanthropy.hbm.xml" /> <mapping resource="com/systemsmadesimple/hibernate/Customer.hbm.xml" /> <mapping resource="com/systemsmadesimple/hibernate/Service.hbm.xml" /> </session-factory> </hibernate-configuration>