I'm not sure why I couldn't get the exception logged but for those who care, the problem was a Hibernate configuration problem on my end. eh-cache couldn't be found (I assumed jboss came with this). I used the below link to remedy the situation:
http://jira.jboss.com/jira/browse/JBAS-2868 > -----Original Message----- > From: Damian Sobieralski [mailto:[EMAIL PROTECTED] > Sent: Thursday, June 08, 2006 2:55 PM > To: Tapestry users > Subject: Hibernate and binding Exception - Unable to read OGNL expression > '<parsed OGNL expression>' > > I'm a complete newbie when it comes to Tapestry. So forgive my > inexperience here. I'm having a problem taking my Hello World Tapestry > Application to do a simple Hibernate thing. A good chance I'm doing > something way wrong so I hope a kind soul can point out where I am > making my error. > > I Have a Home.html that looks like: > > <html> > <head> > > </head> > > <body> > This is a test Application<p> > Word = <span jwcid="insertWord">This text will be replaced by > Tapesty</span> <p> > Opportunity = '<span jwcid="insertName">This text will be replaced by > Tapesty</span>' > </body> > </html> > > Home.page: > > <?xml version="1.0" encoding="UTF-8"?> > <!DOCTYPE page-specification PUBLIC > "-//Apache Software Foundation//Tapestry Specification 3.0//EN" > "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd"> > <!-- generated by Spindle, http://spindle.sourceforge.net --> > > <page-specification class="edu.asu.clas.TapestryHibernate.Home"> > > <description>add a description</description> > > <component id="insertWord" type="Insert"> > <binding name="value" expression="word"/> > </component> > > <component id="insertName" type="Insert"> > <binding name="value" expression="name"/> > </component> > > Home.java: (This is the troublesome spot): > > package edu.asu.clas.TapestryHibernate; > > import org.apache.log4j.*; > > import org.apache.tapestry.html.BasePage; > import org.hibernate.*; > import org.hibernate.cfg.*; > import edu.asu.clas.TapestryHibernate.Opportunity; > import java.util.List; > import java.util.ListIterator; > > public class Home extends BasePage > { > Session session = null; > static SessionFactory sessionFactory = null; > > public String getWord() > { > Category.getInstance(Home.class).error("Returning Hubba"); > return "hubba"; > } > > public String getName() > { > initSessionFactory(); > return "AA"; > } > private void initSessionFactory() > { > try > { > if (sessionFactory == null) > { > // This step will read hibernate.cfg.xml and prepare hibernate for > use > // sessionFactory = new > Configuration().configure().buildSessionFactory(); > > Category.getInstance(Home.class).error("I'm ready to create a > configuration"); > Configuration cfg = new Configuration(); > Category.getInstance(Home.class).error("I created a > configuration"); > Category.getInstance(Home.class).error("I'm ready to configure the > configuration"); > cfg.configure("hibernate.cfg.xml"); > Category.getInstance(Home.class).error("I configured the > configuration"); > > Category.getInstance(Home.class).error("I'm ready to build the > sessionFactory"); > sessionFactory = cfg.buildSessionFactory(); > Category.getInstance(Home.class).error("I built the > sessionFactory"); > } > } > catch(Exception e) > { > Category.getInstance(Home.class).error("Transaction- " + > e.getMessage()); > } > } > } > ----------------------------------------------------------------------- > > Here's the problem. In getName(), if I comment out the call to > initSessionFactory() all runs as expected. If I make a call to > initSessionFactory() from getName I get the error: > > org.apache.tapestry.BindingException > Unable to read OGNL expression '<parsed OGNL expression>' of > [EMAIL PROTECTED]: name > binding: ExpressionBinding[Home name] > location: context:/WEB-INF/Home.page, line 16, column 44 > 11 <component id="insertWord" type="Insert"> > 12 <binding name="value" expression="word"/> > 13 </component> > 14 > 15 <component id="insertName" type="Insert"> > 16 <binding name="value" expression="name"/> > 17 </component> > 18 > 19 </page-specification> > > With line 16 highlighted. > > I'm using log4j but not all of the error lines are logged. The log > looks as follows: > > 14:41:01,927 INFO [TomcatDeployer] deploy, ctxPath=/TapestryHibernate, > warUrl=.../tmp/deploy/tmp216TapestryHibernate.war/ > 14:41:04,416 INFO [ApplicationServlet] Initialized application servlet > 'TapestryHibernate': 791 millis to create HiveMind Registry, 2,337 > millis overall. > 14:41:17,204 ERROR [Home] Returning Hubba > 14:41:17,291 ERROR [Home] I'm ready to create a configuration > 14:41:17,293 ERROR [Home] I created a configuration > 14:41:17,294 ERROR [Home] I'm ready to configure the configuration > 14:41:17,295 INFO [Configuration] configuring from resource: > hibernate.cfg.xml > 14:41:17,296 INFO [Configuration] Configuration resource: > hibernate.cfg.xml > 14:41:17,319 INFO [Configuration] Reading mappings from resource: > edu/asu/clas/TapestryHibernate/Opportunity.hbm.xml > 14:41:17,412 INFO [HbmBinder] Mapping class: > edu.asu.clas.TapestryHibernate.Opportunity -> opportunity > 14:41:17,415 INFO [Configuration] Configured SessionFactory: > researchopps > 14:41:17,416 ERROR [Home] I configured the configuration > 14:41:17,417 ERROR [Home] I'm ready to build the sessionFactory > 14:41:17,418 INFO [Configuration] processing extends queue > 14:41:17,419 INFO [Configuration] processing collection mappings > 14:41:17,419 INFO [Configuration] processing association property > references > 14:41:17,420 INFO [Configuration] processing foreign key constraints > 14:41:17,421 INFO [DriverManagerConnectionProvider] Using Hibernate > built-in connection pool (not for production use!) > 14:41:17,422 INFO [DriverManagerConnectionProvider] Hibernate > connection pool size: 20 > 14:41:17,423 INFO [DriverManagerConnectionProvider] autocommit mode: > false > 14:41:17,423 INFO [DriverManagerConnectionProvider] using driver: > com.mysql.jdbc.Driver at URL: > jdbc:mysql://server.la.asu.edu/researchopps > 14:41:17,424 INFO [DriverManagerConnectionProvider] connection > properties: {user=xxx, password=xxx} > 14:41:17,474 INFO [SettingsFactory] RDBMS: MySQL, version: 5.0.18-log > 14:41:17,475 INFO [SettingsFactory] JDBC driver: MySQL-AB JDBC Driver, > version: mysql-connector-java-3.1.12 ( $Date: 2005-11-17 15:53:48 +0100 > (Thu, 17 Nov 2005) $, $Revision$ ) > 14:41:17,478 INFO [Dialect] Using dialect: > org.hibernate.dialect.MySQLDialect > 14:41:17,480 INFO [TransactionFactoryFactory] Using default transaction > strategy (direct JDBC transactions) > 14:41:17,480 INFO [TransactionManagerLookupFactory] No > TransactionManagerLookup configured (in JTA environment, use of > read-write or transactional second-level cache is not recommended) > 14:41:17,481 INFO [SettingsFactory] Automatic flush during > beforeCompletion(): disabled > 14:41:17,482 INFO [SettingsFactory] Automatic session close at end of > transaction: disabled > 14:41:17,482 INFO [SettingsFactory] JDBC batch size: 15 > 14:41:17,483 INFO [SettingsFactory] JDBC batch updates for versioned > data: disabled > 14:41:17,484 INFO [SettingsFactory] Scrollable result sets: enabled > 14:41:17,484 INFO [SettingsFactory] JDBC3 getGeneratedKeys(): enabled > 14:41:17,485 INFO [SettingsFactory] Connection release mode: auto > 14:41:17,486 INFO [SettingsFactory] Maximum outer join fetch depth: 2 > 14:41:17,486 INFO [SettingsFactory] Default batch fetch size: 1 > 14:41:17,487 INFO [SettingsFactory] Generate SQL with comments: > disabled > 14:41:17,487 INFO [SettingsFactory] Order SQL updates by primary key: > disabled > 14:41:17,488 INFO [SettingsFactory] Query translator: > org.hibernate.hql.ast.ASTQueryTranslatorFactory > 14:41:17,490 INFO [ASTQueryTranslatorFactory] Using > ASTQueryTranslatorFactory > 14:41:17,491 INFO [SettingsFactory] Query language substitutions: {} > 14:41:17,531 INFO [SettingsFactory] Second-level cache: enabled > 14:41:17,532 INFO [SettingsFactory] Query cache: disabled > 14:41:17,532 INFO [SettingsFactory] Cache provider: > org.hibernate.cache.EhCacheProvider > 14:41:18,302 INFO [DriverManagerConnectionProvider] cleaning up > connection pool: jdbc:mysql://server.la.asu.edu/researchopps > > There is no "I created the sessionFactory in in the log or a "I created > the configuration" in the log :( > > The interesting part is that if I comment all the of if (sessionFactory > == null) statements and then uncomment them one by one, the line that > definitively causes this break to happen is when I finally uncomment: > > sessionFactory = cfg.buildSessionFactory(); > > If I comment out this line I get all the log4j error lines (which > should be info lines but I was getting frustrated). Even the "I > configured the configuration" entry. > > I'm assuming I am doing something very very stupid here. When it bombs > it apparently fries the ability to give me what exactly caused the bomb. > I assume that it is a hibernate exception causing the grief but I cannot > get to what the exact Exception actually is (as it doesn't get logged). > A useful error message would be nice for me to google on and continue my > jedi studies). > > Any ideas? > > In oodles and oodles of frustration, > > - Damian > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]