[JBoss Seam] - javax.persistence.EntityNotFoundException
by hstang
Does anyone know why I'm getting this exception when I am using EntityHome.remove() ? I had no problems using EntityHome.remove in my other pages. I suspect it has something to do with my Entity mappings.
What I don't understand is why this exception has anything to do with persist as I'm clearly trying to do a remove. I looked at Hibernate's code and it seems that this exception is thrown when it can't figure out what state the Entity is in (i.e. transient, detached, persistent), but I had this home object loaded with conversation-scoped entity manager like my other entity homes so it should remain as non-detached.
Anyone got a clue?
| Caused by: javax.persistence.EntityNotFoundException: deleted entity passed to p
| ersist: [a.b.c.SomeEntity#<null>]
| at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException
| (AbstractEntityManagerImpl.java:613)
| at org.hibernate.ejb.AbstractEntityManagerImpl.flush(AbstractEntityManag
| erImpl.java:299)
| at org.jboss.seam.persistence.EntityManagerProxy.flush(EntityManagerProx
| y.java:83)
| at org.jboss.seam.framework.EntityHome.remove(EntityHome.java:60)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
| java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
| sorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at org.jboss.seam.util.Reflections.invoke(Reflections.java:20)
| at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocation
| Context.java:31)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocation
| Context.java:57)
| at org.jboss.seam.interceptors.ManagedEntityIdentityInterceptor.aroundIn
| voke(ManagedEntityIdentityInterceptor.java:37)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocation
| Context.java:69)
| at org.jboss.seam.interceptors.RollbackInterceptor.aroundInvoke(Rollback
| Interceptor.java:34)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocation
| Context.java:69)
| at org.jboss.seam.interceptors.TransactionInterceptor$1.work(Transaction
| Interceptor.java:32)
| at org.jboss.seam.util.Work.workInTransaction(Work.java:37)
| at org.jboss.seam.interceptors.TransactionInterceptor.aroundInvoke(Trans
| actionInterceptor.java:27)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocation
| Context.java:69)
| at org.jboss.seam.interceptors.MethodContextInterceptor.aroundInvoke(Met
| hodContextInterceptor.java:27)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocation
| Context.java:69)
| at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:
| 103)
| at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(Java
| BeanInterceptor.java:151)
| at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanIntercept
| or.java:87)
| at org.jboss.seam.framework.EntityHome_$$_javassist_51.remove(EntityHome
| _$$_javassist_51.java)
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4045563#4045563
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4045563
19 years, 1 month
[JBoss Seam] - Re: not redirecting to security_error.xhtml
by efabiano
Hi Christian,
The complete stack trace is:
SEVERE: Error Rendering View[/Cor.xhtml]
| org.jboss.seam.security.AuthorizationException: Authorization check failed for expression [#{s:hasPermission('corcontroller','selecionar', null)}]
| at org.jboss.seam.security.Identity.checkRestriction(Identity.java:160)
| at org.jboss.seam.interceptors.SecurityInterceptor.aroundInvoke(SecurityInterceptor.java:35)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
| at org.jboss.seam.interceptors.RemoveInterceptor.aroundInvoke(RemoveInterceptor.java:40)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
| at org.jboss.seam.interceptors.SynchronizationInterceptor.aroundInvoke(SynchronizationInterceptor.java:31)
| at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
| at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:103)
| at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:50)
| at org.javassist.tmp.java.lang.Object_$$_javassist_101.selecionar(Object_$$_javassist_101.java)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
| at java.lang.reflect.Method.invoke(Unknown Source)
| at org.jboss.seam.util.Reflections.invoke(Reflections.java:20)
| at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:123)
| at org.jboss.seam.Component.callComponentMethod(Component.java:1834)
| at org.jboss.seam.Component.getInstanceFromFactory(Component.java:1696)
| at org.jboss.seam.Component.getInstance(Component.java:1633)
| at org.jboss.seam.Component.getInstance(Component.java:1610)
| at org.jboss.seam.jsf.SeamVariableResolver.resolveVariable(SeamVariableResolver.java:53)
| at org.apache.myfaces.config.LastVariableResolverInChain.resolveVariable(LastVariableResolverInChain.java:42)
| at com.sun.facelets.el.LegacyELContext$LegacyELResolver.getValue(LegacyELContext.java:134)
| at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:65)
| at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:192)
| at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
| at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:61)
| at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:192)
| at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
| at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:61)
| at com.sun.el.parser.AstEmpty.getValue(AstEmpty.java:49)
| 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.UIComponentBase.isRendered(UIComponentBase.java:1075)
| at org.ajax4jsf.framework.renderer.RendererBase.renderChild(RendererBase.java:246)
| at org.ajax4jsf.framework.renderer.RendererBase.renderChildren(RendererBase.java:232)
| at org.ajax4jsf.renderkit.html.AjaxOutputPanelRenderer.encodeChildren(AjaxOutputPanelRenderer.java:79)
| at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:524)
| at org.ajax4jsf.framework.renderer.RendererBase.renderChild(RendererBase.java:252)
| at org.ajax4jsf.framework.renderer.RendererBase.renderChildren(RendererBase.java:232)
| at org.ajax4jsf.framework.renderer.RendererBase.renderChild(RendererBase.java:254)
| at org.ajax4jsf.framework.renderer.RendererBase.renderChildren(RendererBase.java:232)
| at org.ajax4jsf.framework.renderer.AjaxContainerRenderer.encodeChildren(AjaxContainerRenderer.java:100)
| at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:524)
| at org.ajax4jsf.ajax.UIAjaxRegion.encodeChildren(UIAjaxRegion.java:119)
| at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:244)
| at com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:249)
| at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:573)
| at org.ajax4jsf.framework.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
| at org.ajax4jsf.framework.ajax.AjaxViewHandler.renderView(AjaxViewHandler.java:229)
| 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.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:234)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:63)
| at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:79)
| at org.jboss.seam.web.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:49)
| at org.jboss.seam.web.SeamFilter.doFilter(SeamFilter.java:84)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:96)
| at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:220)
| 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(Unknown Source)
This is what apears on my screen (where should be security_error.xhtml):
An Error Occurred:
| Authorization check failed for expression [#{s:hasPermission('corcontroller','selecionar', null)}]
| +- Stack Trace
An important thing is that the same method I´ve annotated with @Restrict is annotated with @Factory as you can see here:
@Factory("cores")
| @Restrict
| public String selecionar() {
| cores = dao.selecionarTodos(Cor.class);
| return super.selecionar();
| }
tks in advance
emerson fabiano
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4045559#4045559
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4045559
19 years, 1 month
[JBoss Seam] - Injection of SESSION POJO into event/session scoped POJO not
by joeyxxx
I'm running 1.2.1 with facelets on JBoss 4.05 EJB3 profile and using pojos not EJBs. This is my first attempt at seam and the ff issue has thrown me for a bit of a loop.
The user component injected into balance is always null and it seams that I can only reference it is explictly using the ff
(User) Contexts.getSessionContext().get("user");
I wonder if my approach is totally off. Maybe I should be using some kind of factory object that Outjects the balance object.
This is the Class I'm Trying to Inject.
| @Name("user")
| @Scope(SESSION)
| public class User implements Serializable
| {
| private String userName;
| private String password;
| private String userRole;
| private String segment;
| private String firstName;
| private String lastName;
| private String destination;
|
| public User(String firstName, String lastName, String userName, String password)
| {
| this.firstName = "James";
| this.lastName = "Bond";
| this.password = password;
| this.setUserName(userName);
| this.setUserRole("Investor");
| }
|
| public User() {}
|
|
This Is the Class I'm trying to Inject Into.
|
| @Name("balance")
| @Scope(EVENT)
| public class Balance implements Serializable
| {
| private double totalMarketValue;
| private double cash;
| private double margin;
| private String userName;
| @In
| private User user;
| @Logger Log log;
|
| public Balance() {
| this.setTotalMarketValue(0);
| this.setMargin(0);
| this.setCash(0);
| if(user!=null){
| this.setUserName("Balance User:"+this.user.getUserName());
| } else {
| //This always works!!!
| user = (User) Contexts.getSessionContext().get("user");
| this.setUserName("Null @In "+this.user.getUserName());
| }
| }
|
|
Are there any disadvantages to using javabeans instead of EJBs if one doesn't care about transactions etc? Is clustering better with EJBs on JBoss?
Thanks
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4045556#4045556
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4045556
19 years, 1 month