[EJB 3.0] - EJB3 transaction / lazy loading issue
by zilbi
Hi,
got an entity with a few lazy collections in it.
also got a stateless session bean that uses this entity in an ejb method. the method does no changes to the entity, only reads the entity's data and returns it.
now if i use:
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
i get the notorious lazy load exception problem when i try to invoke getters of the entity's lazy collection. so i remove the attribute at all or use the @TransactionAttribute(TransactionAttributeType.NOT_REQUIRES_NEW) attribute instead.
the thing is that i then see in the server log that hibernate is invoking an update query on the entity. the query updates all the entity's fields (not the lazy collections) by primary key field as well as version field.
the update SQL together with commit takes around 20-40 milliseconds which is just too much for me.
why is the update being performed?
is there a way to prevent it (since i know for sure i do not need it)?
is there a way to enjoy lazy load without opening a transaction? (a sort of a read only trx..)
thanks,
zilbi
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4170384#4170384
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4170384
17 years, 11 months
[Installation, Configuration & DEPLOYMENT] - javax.servlet.ServletException: Unable to compile class for
by susan.mathew@us.mcd.com
Hi.
I have been getting the 'unable to compile class for JSP' because 'package org.apache.jasper.runtime does not exist'. I found jasper-runtime.jar, which contains the package org.apache.jasper.runtime in:
.../jboss-4.0.0RC1/server/marketingcalendar/deploy/jbossweb-tomcat50.sar/
My app, marketingcalendar, is hosted on a Sun Solaris platform using JBoss 4.0.0, Sun's java 1.4.2, Struts, Spring, and Hibernate. I don't know what is triggering this error. It happens on least used and most used pages but not all at once. Pages that have been working for several days may suddenly come up with this error message.
Restarting the server clears the problem. The error has come up with in a day of re-starting the server. Sometimes, the error pops up several days/weeks later after the page has been working for a while.
When there is a jsp/java changes, I shut down the JBoss server, move in the modified jsp/class files, and then re-start the server. The jsp compilation should happen only once when a user brings up the specific page. So, I don't understand pages that were displaying fine for days would suddenly get this 'unable to compile class for JSP' error.
In the .../jbossweb-tomcat50.sar/web.xml, I changed the value of the fork parameter to two weeks ago. That didn't fix the problem. The rest of the web.xml has the default values.
Any ideas on how to fix this error?
The following is a shortened version of the error users see when this problem occurs. I have set in bold the portions of the message that remains the same.
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Unable to compile class for JSP
Generated servlet error:
/app/marketingcalendar/jboss-4.0.0RC1/server/marketingcalendar/work/jboss.web/localhost/marketingcalendar/org/apache/jsp/happymeal/list_005fall_005fproperties_jsp.java:11: package org.apache.jasper.runtime does not exist
public final class list_005fall_005fproperties_jsp extends org.apache.jasper.runtime.HttpJspBase
^
Generated servlet error:
/app/marketingcalendar/jboss-4.0.0RC1/server/marketingcalendar/work/jboss.web/localhost/marketingcalendar/org/apache/jsp/happymeal/list_005fall_005fproperties_jsp.java:12: package org.apache.jasper.runtime does not exist
implements org.apache.jasper.runtime.JspSourceDependent {
^
Generated servlet error:
/app/marketingcalendar/jboss-4.0.0RC1/server/marketingcalendar/work/jboss.web/localhost/marketingcalendar/org/apache/jsp/happymeal/list_005fall_005fproperties_jsp.java:16: package org.apache.jasper.runtime does not exist
private org.apache.jasper.runtime.TagHandlerPool _jspx_tagPool_bean_message_key_nobody;
^
...
An error occurred at line: 39 in the jsp file: /happymeal/list_all_properties.jsp
Generated servlet error:
/app/marketingcalendar/jboss-4.0.0RC1/server/marketingcalendar/work/jboss.web/localhost/marketingcalendar/org/apache/jsp/happymeal/list_005fall_005fproperties_jsp.java:119: package org.apache.jasper.runtime does not exist
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "../system/header_happymeal.jsp", out, false);
^
An error occurred at line: 160 in the jsp file: /happymeal/list_all_properties.jsp
Generated servlet error:
/app/marketingcalendar/jboss-4.0.0RC1/server/marketingcalendar/work/jboss.web/localhost/marketingcalendar/org/apache/jsp/happymeal/list_005fall_005fproperties_jsp.java:426: package org.apache.jasper.runtime does not exist
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "../system/footer.jsp", out, false);
^
28 errors
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:99)
org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:82)
org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:51)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:280)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:446)
javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:108)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:193)
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:72)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:174)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.27-dev logs.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4170380#4170380
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4170380
17 years, 11 months