0

Hibernate Problem !!

asked 2010-03-24 18:11:51 +0800

yuanbohan gravatar image yuanbohan
258 2 7

updated 2010-03-24 18:21:14 +0800

How can it happen every time I run the project? I find the zkplus.jar in the WEB-INF/lib directory. But error information seems that as if the file does not exist, but it does.


24-Mar-2010 23:00:04 org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: {Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:canvas_demo' did not find a matching property.
24-Mar-2010 23:00:04 org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: {Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:DERI' did not find a matching property.
24-Mar-2010 23:00:04 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: C:\Program Files\Java\jre6\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre6/bin/client;C:/Program Files/Java/jre6/bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Diskeeper Corporation\Diskeeper\;C:\Program Files\ThinkPad\ConnectUtilities;C:\Program Files\Common Files\Lenovo;C:\Program Files\Lenovo\Client Security Solution;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs;C:\Program Files\MySQL\MySQL Server 5.0\bin;C:\Program Files\Java\jdk1.6.0_20\bin;C:\Program Files\Java\jdk1.6.0_20\jre\bin;
24-Mar-2010 23:00:04 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
24-Mar-2010 23:00:04 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 434 ms
24-Mar-2010 23:00:04 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
24-Mar-2010 23:00:04 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.20
24-Mar-2010 23:00:05 org.zkoss.zk.ui.http.WebManager <init>:112
INFO: Starting ZK 3.6.3 Enterprise (build: 09110309)
24-Mar-2010 23:00:05 org.zkoss.zk.ui.sys.ConfigParser parseConfigXml:127
INFO: Loading system default
24-Mar-2010 23:00:05 org.zkoss.zk.ui.sys.ConfigParser parse:224
INFO: Parsing jndi:/localhost/DERI/WEB-INF/zk.xml
24-Mar-2010 23:00:06 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
24-Mar-2010 23:00:06 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
24-Mar-2010 23:00:06 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/47 config=null
24-Mar-2010 23:00:06 org.apache.catalina.startup.Catalina start
INFO: Server startup in 1940 ms
24-Mar-2010 23:00:07 org.zkoss.zk.ui.util.Configuration invokeExecutionCleanups:845
SEVERE: Failed to invoke class org.zkoss.zkplus.hibernate.HibernateSessionContextListener
java.lang.NoClassDefFoundError: javax/transaction/Synchronization
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.zkoss.lang.Classes.forNameByThread(Classes.java:199)
at org.zkoss.zkplus.util.ThreadLocals.getThreadLocal(ThreadLocals.java:38)

at org.zkoss.zkplus.hibernate.HibernateSessionContextListener.getContextThreadLocal(HibernateSessionContextListener.java:152)
at org.zkoss.zkplus.hibernate.HibernateSessionContextListener.getSessionMap(HibernateSessionContextListener.java:148)
at org.zkoss.zkplus.hibernate.HibernateSessionContextListener.cleanup(HibernateSessionContextListener.java:98)
at org.zkoss.zk.ui.util.Configuration.invokeExecutionCleanups(Configuration.java:842)
at org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage0(UiEngineImpl.java:438)
at org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage(UiEngineImpl.java:299)
at org.zkoss.zk.ui.http.DHtmlLayoutServlet.process(DHtmlLayoutServlet.java:229)
at org.zkoss.zk.ui.http.DHtmlLayoutServlet.doGet(DHtmlLayoutServlet.java:165)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: javax.transaction.Synchronization
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
... 26 more
24-Mar-2010 23:00:07 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet zkLoader threw exception
java.lang.ClassNotFoundException: javax.transaction.Synchronization
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.zkoss.lang.Classes.forNameByThread(Classes.java:199)
at org.zkoss.zkplus.util.ThreadLocals.getThreadLocal(ThreadLocals.java:38)
at org.zkoss.zkplus.hibernate.HibernateSessionContextListener.getContextThreadLocal(HibernateSessionContextListener.java:152)
at org.zkoss.zkplus.hibernate.HibernateSessionContextListener.getSessionMap(HibernateSessionContextListener.java:148)
at org.zkoss.zkplus.hibernate.HibernateSessionContextListener.init(HibernateSessionContextListener.java:79)
at org.zkoss.zk.ui.util.Configuration.invokeExecutionInits(Configuration.java:812)
at org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage0(UiEngineImpl.java:346)
at org.zkoss.zk.ui.impl.UiEngineImpl.execNewPage(UiEngineImpl.java:299)
at org.zkoss.zk.ui.http.DHtmlLayoutServlet.process(DHtmlLayoutServlet.java:229)
at org.zkoss.zk.ui.http.DHtmlLayoutServlet.doGet(DHtmlLayoutServlet.java:165)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Unknown Source)


***************************My zk.xml file is like this:***************************

<?xml version="1.0" encoding="UTF-8"?>
<zk>
<listener>
<description>Hibernate thread session context handler</description>
<listener-class>org.zkoss.zkplus.hibernate.HibernateSessionContextListener</listener-class>
</listener>

<device-config>
<device-type>ajax</device-type>
<timeout-uri>/timeout.zul</timeout-uri><!-- An empty URL can cause the browser to reload the same URL -->
</device-config>
</zk>


***************************My web.xml file is like this:***************************

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>DERI</display-name>

<resource-ref>
<res-ref-name>jdbc/deri</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

<listener>
<description>
Used to cleanup when a session is destroyed</description>
<display-name>ZK Session cleaner</display-name>
<listener-class>org.zkoss.zk.ui.http.HttpSessionListener</listener-class>
</listener>

<servlet>
<description>The ZK loader for ZUML pages</description>
<servlet-name>zkLoader</servlet-name>
<servlet-class>
org.zkoss.zk.ui.http.DHtmlLayoutServlet</servlet-class>
<init-param>
<param-name>update-uri</param-name>
<param-value>/zkau</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet>
<description>The asynchronous update engine for ZK</description>
<servlet-name>auEngine</servlet-name>
<servlet-class>
org.zkoss.zk.au.http.DHtmlUpdateServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>zkLoader</servlet-name>
<url-pattern>*.zul</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>zkLoader</servlet-name>
<url-pattern>*.zhtml</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>auEngine</servlet-name>
<url-pattern>/zkau/*</url-pattern>
</servlet-mapping>

<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
<welcome-file>index.zul</welcome-file>
</welcome-file-list>
</web-app>

***************************My connection pool configuration is like this:***************************

<Resource auth="Container"
url="jdbc:mysql://localhost:3306/deri"
driverClassName="com.mysql.jdbc.Driver"
name="jdbc/deri"
maxActive="30" maxIdle="20" maxWait="3000"
username="****" password="****i"
timeBetweenEvictionRunsMillis="60000"
type="javax.sql.DataSource"
defaultAutoCommit="false" />

When I delete the codes in zk.xml
"
<listener>
<description>Hibernate thread session context handler</description>
<listener-class>org.zkoss.zkplus.hibernate.HibernateSessionContextListener</listener-class>
</listener>
"
then there is no problem with the tomcat, but I don't know if it will affect the hibernate performance's correctness.
Can anyone help me with the problem?? I really appreciate it. ^_^

delete flag offensive retag edit

5 Replies

Sort by ยป oldest newest

answered 2010-03-24 19:52:12 +0800

caclark gravatar image caclark
1753 2 5
http://clarktrips.intltwi...

The key to the whole thing is this part of the stack trace:

    Caused by: java.lang.ClassNotFoundException: javax.transaction.Synchronization

ClassNotFoundException is always a classpath issue. This is one of the worst named exceptions in all of Java, According To Cary(tm). Have you checked to see if you have jtaXXXX.jar in Tomcat's app server directories AND your project's WEB-INF/lib? It looks like you might have it in both places and that would cause problems.

link publish delete flag offensive edit

answered 2010-03-25 05:23:51 +0800

yuanbohan gravatar image yuanbohan
258 2 7

I have checked it that in the WEB-INF/lib, the jta.jar exists, but not in the tomcat's app server's lib directory. Thanks for your help. ^_^ But I have not made it done yet..

link publish delete flag offensive edit

answered 2010-05-18 01:36:33 +0800

schofeild26 gravatar image schofeild26
3

I have the same problem... help will be highly appreciated.

link publish delete flag offensive edit

answered 2010-05-18 03:44:51 +0800

PeterKuo gravatar image PeterKuo
481 2

@schofeild26, yuanbohan

If you don't have such jar containing such class, it will report class not found.
The tricky part is,
If class file is defined more than once in the classpath. It still will report class not found exception.

It's environmental setup problem.

You must try to find it yourself.

link publish delete flag offensive edit

answered 2010-05-20 09:32:09 +0800

yuanbohan gravatar image yuanbohan
258 2 7

thanks for your help. ^_^

link publish delete flag offensive edit
Your reply
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

[hide preview]

Question tools

Follow

RSS

Stats

Asked: 2010-03-24 18:11:51 +0800

Seen: 1,112 times

Last updated: May 20 '10

Support Options
  • Email Support
  • Training
  • Consulting
  • Outsourcing
Learn More