[JBoss Seam] - Re: Overriding EntityHome.persist problems
by MikeDougherty
Thanks for the response.
| @Name("regionHome")
| public class RegionHome extends EntityHome<Region>
| {
|
| @RequestParameter
| Long regionId;
|
| @In(required=false)
| Region region;
|
| @In
| WorkingMemory regionManagerWorkingMemory;
|
| @Override
| public Object getId()
| {
| if (regionId==null)
| {
| return super.getId();
| }
| else
| {
| return regionId;
| }
| }
|
| @Override @Begin(join=true)
| public void create() {
| info("create()");
| super.create();
| }
|
| @Override
| public String update() {
| info("update("+regionId+")" );
| return super.update();
| }
|
| @Override
| public String persist() {
| info("getId() == #0", getId()); // #1
| info("region.getId() == #0", region != null ? region.getId() : "null" ); // #2
| info("persist("+regionId+","+ (getInstance() != null ? getInstance().getId() : "null") +")" ); // #3
|
| if( region != null ) {
| regionManagerWorkingMemory.assertObject(region);
| regionManagerWorkingMemory.fireAllRules();
| setInstance(region);
| }
| return super.persist();
| }
|
| @Override
| public String remove() {
| info("remove("+regionId+")" );
| return super.remove();
| }
| }
|
In the persist method line #1 prints:
| 17:17:08,163 INFO [RegionHome] getId() == null
|
#2:
| 17:17:08,164 INFO [RegionHome] region.getId() == 1
|
#3:
| 17:17:08,165 INFO [RegionHome] persist(null,null)
|
I'm trying to get my head around this in the persist method using existing data (Entities) before tackling the update method...
Actually, now that you mention it the page *should* be calling the update method. Maybe I need to be looking at the region.xhtml to see why it's calling persist instead of update first.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4026819#4026819
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4026819
19Â years, 1Â month
[JBoss Seam] - Re: Overriding EntityHome.persist problems
by petemuir
"MikeDougherty" wrote : I've got some rules that will validate an entity before it is saved to the database, according to what I've read the best place to do that is in the Home.persist method.
Yup, that would be my plan (and in the update method as well if needed)
anonymous wrote : However, in the Home.persist method the getId and getInstance methods always return null. I expected them to contain the Entity that is about to be persisted, is this not a correct assumption?
Well, getId() would return null right (as the database has not yet assigned an id)? But getInstance should return the entity you completed on the form. Post the code/wiring you are using.
anonymous wrote : I injected an instance of the Entity and it seems to contain the form data. This works, and I'm cool with, but is this the *right* way?
Not as neat, but still fine IMO.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4026818#4026818
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4026818
19Â years, 1Â month
[Tomcat, HTTPD, Servlets & JSP] - Jasper Exception when migrating from 4.0.5.CR1 to 4.2.0.CR1
by risenhoover
Hi All,
I have an existing web application that is currently operational under 4.0.5.CR1. The login page (login.jsp) is a very simple struts page that does exactly what you think it does.
I am attempting to migrate to 4.2.0, but when I install my new web application, I get a JasperException when I attempt to load this page. This is the output in the log:
2007-03-09 17:17:23,786 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/DAXAppWeb].[jsp]] Servlet.service() for servlet jsp threw except
ion
org.apache.jasper.JasperException: Unable to compile class for JSP:
Stacktrace:
at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:85)
at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:415)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:308)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:308)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
at org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:87)
at org.jboss.web.tomcat.service.session.JvmRouteValve.invoke(JvmRouteValve.java:84)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437)
at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:447)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:619)
Does anybody have any thoughts on what might be causing this, or how I might increase the granularity of the logging to find out what the compile-time error is?
Thanks.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4026814#4026814
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4026814
19Â years, 1Â month
[Installation, Configuration & Deployment] - cant resolve NoClassDefFoundException
by dandiodati
I keep having a NoClassDefFoundException (java.lang.NoClassDefFoundError: com/successfactors/pm/ui/messages/SFMessages) when jsf components try to load one of our classes (SFMessages).
I'm running jboss4.0.5, jdk5 and using the default classloader settings(Tomcat uses it own class loader for isolation).
The directory structure looks like:
serverconfig/lib - Contains jsf libs(Removed the jbossweb-tomcat55.sar/jsf-libs directory)
serverconfig/deploy/sfv4.ear/sfv4-ejb.jar - Contains all of our ejb classes
serverconfig/deploy/sfv4.ear/sfv4-comon.jar - Contains common classes used by ejbs and web code.
serverconfig/deploy/sfv4.ear/xi.war/WEB-INF/classes - contains web code
The SFMessages class lives in sfv4-common.jar currently.
I tried putting the SFMessages into the web-inf/classes but still get the same issue.
I also tried to move the jsf libs into the sfv4.ear and added entries to the application.xml but I still get the same issue.
All manifests in the jars have no references to other jars.
I turned on ucl tracing and the exception is below. According to some post on the jboss forums it indicates that the shared class is being reference by the war and ejb classloader which is not allowed. I tried making sure the only instance of SFMessages is in sfv4-common.jar and then
tried adding sfv4-common.jar to the application.xml (as a java module), but still having the same issue.
This is holding up development on a major project and I need it resolved quickly.
Any Ideas?
Thanks, Dan
Here is the exception:
[3420200,LoadMgr3,http-0.0.0.0-8080-2] Notifying task of thread completion, loadTask:org.jboss.mx.loading.ClassLoadingTask@1bace2b{classname: com.successfactors.pm.ui.messages.SFMessages, requestingThread: Thread[http-0.0.0.0-8080-2,5,jboss], requestingClassLoader: org.jboss.mx.loading.UnifiedClassLoader3@1814dd0{ url=file:/C:/jboss-4.0.5.GA-ejb/server/main/deploy/sfv4.ear/ ,addedOrder=43}, loadedClass: nullnull, loadOrder: 2147483647, loadException: java.lang.LinkageError: Class com/successfactors/pm/ui/messages/SFMessages violates loader constraints, threadTaskCount: 0, state: 1, #CCE: 0}loadException details:
java.lang.LinkageError: Class com/successfactors/pm/ui/messages/SFMessages violates loader constraints
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at org.jboss.mx.loading.RepositoryClassLoader.findClassLocally(RepositoryClassLoader.java:672)
at org.jboss.mx.loading.RepositoryClassLoader.findClass(RepositoryClassLoader.java:652)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at org.jboss.mx.loading.RepositoryClassLoader.loadClassLocally(RepositoryClassLoader.java:190)
at org.jboss.mx.loading.ClassLoadingTask$ThreadTask.run(ClassLoadingTask.java:131)
at org.jboss.mx.loading.LoadMgr3.nextTask(LoadMgr3.java:399)
at org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java:517)
at org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:405)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2365)
at java.lang.Class.getDeclaredMethods(Class.java:1763)
at java.beans.Introspector$1.run(Introspector.java:1265)
at java.security.AccessController.doPrivileged(Native Method)
at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1263)
at java.beans.Introspector.getTargetMethodInfo(Introspector.java:1129)
at java.beans.Introspector.getBeanInfo(Introspector.java:387)
at java.beans.Introspector.getBeanInfo(Introspector.java:159)
at org.apache.myfaces.el.PropertyResolverImpl.getPropertyDescriptor(PropertyResolverImpl.java:454)
at org.apache.myfaces.el.PropertyResolverImpl.getProperty(PropertyResolverImpl.java:417)
at org.apache.myfaces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:82)
at com.sun.facelets.el.LegacyELContext$LegacyELResolver.getValue(LegacyELContext.java:141)
at com.sun.el.parser.AstValue.getValue(AstValue.java:117)
at com.sun.el.parser.AstDeferredExpression.getValue(AstDeferredExpression.java:46)
at com.sun.el.parser.AstCompositeExpression.getValue(AstCompositeExpression.java:51)
at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:192)
at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
at com.sun.facelets.el.LegacyValueBinding.getValue(LegacyValueBinding.java:56)
at javax.faces.component.UIGraphic.getValue(UIGraphic.java:96)
at javax.faces.component.UIGraphic.getUrl(UIGraphic.java:35)
at org.apache.myfaces.shared_impl.renderkit.html.HtmlImageRendererBase.encodeEnd(HtmlImageRendererBase.java:53)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:536)
at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:242)
at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:239)
at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:239)
at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:580)
at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:46)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:32)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.successfactors.pm.ui.security.AuthenticationFilter.doFilter(AuthenticationFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4026809#4026809
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4026809
19Â years, 1Â month