this older post is related:
https://coderanch.com/t/60068/oa/NPE-at-getHibernateTemplate I'm just trying to
test simple CRUD using Spring,Hibernate,
Tomcat,MySQL - without any success so far.
Classes that extend HibernateDAOSupport have NPEs on calls such as:
getHibernateTemplate().save(pojoObj)
and this.getSesssionFactory is always null.
On app/tomcat start-up, the datasource (through JNDI) is being found as far as I can tell:
INFO: RDBMS: MySQL, version: 5.0.18-nt
Apr 9, 2006 3:43:11 PM org.hibernate.cfg.SettingsFactory buildSettings
INFO:
JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-3.1.12
in my applicationContext.xml:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>
java:/comp/env/jdbc/amadeus</value>
</property>
</bean>
bean config for class extending HibernateDAOSupport:
<bean name="schoolAdminMgr"
class="com.overture.amadeus.service.HibSchoolAdminMgr">
<property name="sessionFactory">
<ref local="sessionFactory"/>
</property>
</bean>
bean config for sessionFactory:
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource"><ref local="dataSource"/></property>
<property name="mappingResources">
<list>
...hbm xml files...
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
I'm creating a context.xml to be included in META-INF under the web-app in Tomcat. It looks like this:
<Context reloadable="true" path="amadeus" docBase="amadeus">
<Resource type="javax.sql.DataSource"
auth="Container"
name="jdbc/amadeus"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
initialSizse="30"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="root"
password="root"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/amadeus?autoReconnect=true"
removeAbandoned="true"
removeAbandonedTimeout="60"
logAbandoned="true"
/>
</Context>
mysql driver, commons-dbcp jars copied to tomcat's common/lib folder.
The only symptom I'm seeing is the NPE and null sessionFactory in the running web-app.
I don't know where to focus my attention now on troubleshooting this, any suggestions are much appreciated. I suspect it's probably still something with Tomcat and the datasource...but have exhausted all ideas to try.