[JBoss Seam] - Re: External Client and Seam Security
by agnadello
I give up!
Thanks a lot Shane for all your help.
I wasn't able to use the interceptor you suggested. I tried to add it to the default stack by Component.forName("...").addInterceptor(...) but ended up with ArrayIndexOutOfBounds etc.
My second try was to use a regular EJB3 interceptor which does the Seam login/logout and basically all the thing in SecurityInterceptor from Seam.
It's really a copy of your code:
| public class ExternalClientSecurityInterceptor {
|
| @AroundInvoke
| public Object aroundInvoke(final InvocationContext theInvocationContext)
| throws Exception {
|
| try {
| // Perform a Seam login
| this.doSeamLogin();
|
| // Get the invoked method
| final Method theInterfaceMethod = theInvocationContext.getMethod();
|
| // TODO: optimize this:
| // Check if there's a Seam @Restrict annotation on invoked method
| final Object theTarget = theInvocationContext.getTarget();
| final Method theMethod = this.getComponent(theTarget)
| .getBeanClass().getMethod(theInterfaceMethod.getName(),
| theInterfaceMethod.getParameterTypes());
| final Restrict theRestriction = this.getRestriction(theMethod,
| theTarget);
|
| // Perform security check if a restriction is found
| if (null != theRestriction && Identity.isSecurityEnabled()) {
| final String theRestrictionExpression = !Strings
| .isEmpty(theRestriction.value()) ? theRestriction
| .value() : this.createDefaultExpr(theMethod, theTarget);
| Identity.instance().checkRestriction(theRestrictionExpression);
| }
| return theInvocationContext.proceed();
| } finally {
|
| // Always logout after invocation
| this.doSeamLogout();
| }
| }
|
| private Component getComponent(final Object theTarget) {
| // Get the Seam component name of the target class
| final String theComponentName = Component.getComponentName(theTarget
| .getClass());
| // Return the component
| return Component.forName(theComponentName);
| }
|
| private void doSeamLogin() {
| Identity.instance().setUsername("user");
| Identity.instance().setPassword("Demo987!");
| Identity.instance().login();
| }
|
| private void doSeamLogout() {
| Identity.instance().logout();
| }
|
| private Restrict getRestriction(final Method theMethod,
| final Object theTarget) {
| if (theMethod.isAnnotationPresent(Restrict.class)) {
| return theMethod.getAnnotation(Restrict.class);
| } else if (this.getComponent(theTarget).getBeanClass()
| .isAnnotationPresent(Restrict.class)) {
| if (!this.getComponent(theTarget).isLifecycleMethod(theMethod)) {
| return this.getComponent(theTarget).getBeanClass()
| .getAnnotation(Restrict.class);
| }
| }
| return null;
| }
|
| /**
| * Creates a default security expression for a specified method. The method
| * must be a method of a Seam component.
| *
| * @param theMethod
| * The method for which to create a default permission expression
| * @return The generated security expression.
| */
| private String createDefaultExpr(final Method theMethod,
| final Object theTarget) {
| return String.format("#{s:hasPermission('%s','%s', null)}", this
| .getComponent(theTarget).getName(), theMethod.getName());
| }
| }
|
This enabled the recognition of the @Restrict("s:hasRole('user')") annotation on EJB methods.
Next problem - the Drools rules doesn't seem to work. Well, they work if I run from the JSF's but not from my Quartz POJO job.
I've tried to debug to see how and if my RuleBasedIdentity uses the rules but I got lost in the Drools code :-(
At least I can see that the RuleBasedIdentity is created and that my Drools rule file is read.
I'll guess I'll use default Java EE security and where I need more advanced security constraints I'll have to implement it myself... too bad.
Is there a possibility to file this feature to JIRA?
Kind regards, Andreas
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4109040#4109040
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4109040
18 years, 4 months
[JBoss Seam] - LazyInitializationException - Jboss.4.2.0.GA vs Jboss.4.2.2.
by FabBoco
Hi guys,
I actually need help.
I am migrating my application (which use seam.2.0.0.GA) from jboss.4.2.0.GA to jboss.4.2.2.GA.
All operations involve LazyInitializationException now !!!
I have extracted a small test case: two simple EB managed by two SEJB
| @Entity
| @Name("e1")
| @Scope(CONVERSATION)
| @Table(name = "E1")
| public class E1 implements Serializable
| {
| private static final long serialVersionUID = 0;
| private Long id;
|
| private String p1;
| private E2 e2;
|
| @Transient
| public static long getSerialVersionUID()
| {
| return serialVersionUID;
| }
|
| @Id
| @GeneratedValue(strategy = GenerationType.AUTO)
| public Long getId()
| {
| return id;
| }
|
| public void setId(Long id)
| {
| this.id = id;
| }
|
| public boolean equals(Object obj)
| {
| if (obj == null)
| return false;
|
| if (!(obj instanceof E1))
| return false;
|
| E1 tmp = (E1) obj;
|
| if (id != null && tmp.getId() != null && id.longValue() == tmp.getId().longValue())
| return true;
|
| return false;
| }
|
| public String getP1()
| {
| return p1;
| }
|
| public void setP1(String p1)
| {
| this.p1 = p1;
| }
|
| public void setE2(E2 e2)
| {
| this.e2 = e2;
| }
|
| @ManyToOne(targetEntity=E2.class, cascade = {CascadeType.REFRESH}, fetch=FetchType.LAZY)
| public E2 getE2()
| {
| return e2;
| }
| }
|
| @Entity
| @Name("e2")
| @Scope(CONVERSATION)
| @Table(name = "E2")
| public class E2 implements Serializable
| {
| private static final long serialVersionUID = 0;
| private Long id;
|
| private String p2;
| private List<E1> e1s;
|
| @Transient
| public static long getSerialVersionUID()
| {
| return serialVersionUID;
| }
|
| @Id
| @GeneratedValue(strategy = GenerationType.AUTO)
| public Long getId()
| {
| return id;
| }
|
| public void setId(Long id)
| {
| this.id = id;
| }
|
| public boolean equals(Object obj)
| {
| if (obj == null)
| return false;
|
| if (!(obj instanceof E2))
| return false;
|
| E2 tmp = (E2) obj;
|
| if (id != null && tmp.getId() != null && id.longValue() == tmp.getId().longValue())
| return true;
|
| return false;
| }
|
| public String getP2()
| {
| return p2;
| }
|
| public void setP2(String p1)
| {
| this.p2 = p1;
| }
|
| public void setE1s(List<E1> e1s)
| {
| this.e1s = e1s;
| }
|
| public void addE1s(E1 e1s)
| {
| if (this.e1s == null)
| this.e1s = new Vector();
|
| this.e1s.add(e1s);
| }
|
| public void removeE1s(E1 e1s)
| {
| if (this.e1s == null)
| return;
|
| this.e1s.remove(e1s);
| }
|
| public void removeAllE1s()
| {
| this.e1s = new Vector<E1>();
| }
|
| @OneToMany(targetEntity = E1.class, cascade = {CascadeType.REFRESH}, fetch = FetchType.LAZY, mappedBy = "e2")
| public List<E1> getE1s()
| {
| return e1s;
| }
| }
|
| @Stateful
| @Name("E1Manager")
| @Scope(ScopeType.CONVERSATION)
| public class E1ManagerBean implements Serializable, E1Manager, E1ManagerRemote
| {
| private static final long serialVersionUID = 1L;
|
| @In
| private EntityManager em;
|
| @In(create = true)
| @Out(required = false, scope = ScopeType.CONVERSATION)
| private E1 e1;
|
|
| ......
|
| @Begin(nested = true, flushMode = FlushModeType.MANUAL)
| public String initEdit()
| {
| returningPage = .....
|
| e1Operation = "EDIT";
|
| em.clear();
| e1 = em.find(E1.class, e1.getId());
|
| return "/E1.xhtml";
| }
|
| public String processEdit()
| {
| em.clear();
|
| e1 = em.merge(e1);
|
| em.flush();
|
| conversation.endBeforeRedirect();
|
| return returningPage;
| }
|
| ............
|
| }
|
The E1.xhtml is the following
|
| ..................
|
| <trh:body >
| <f:loadBundle basename="messages" var="msgs" />
| <tr:form id="form" >
| <tr:panelPage id="panelPage">
|
| <tr:messages />
|
| <trh:tableLayout borderWidth="0" width="100%">
|
|
| <trh:rowLayout width="100%" >
| <trh:cellFormat styleClass="formFieldLabel" ><tr:outputLabel for="p1" value="#{msgs.form_E1_p1}" /></trh:cellFormat>
| <trh:cellFormat >
| <tr:inputText id="p1" value="#{e1.p1}" required="false" />
| </trh:cellFormat>
| </trh:rowLayout>
|
|
| <trh:rowLayout width="100%" >
| <trh:cellFormat styleClass="formFieldLabel" ><tr:outputLabel for="getE2" value="#{msgs.form_E1_getE2}" /></trh:cellFormat>
| <trh:cellFormat >
| <tr:selectOneChoice required="false" id="getE2" value="#{e1.e2}" >
| <f:selectItems value="#{E2Manager.e2ListP2}" />
| </tr:selectOneChoice>
| </trh:cellFormat>
| </trh:rowLayout>
|
|
|
| </trh:tableLayout>
|
| <tr:spacer height="15" />
| <trh:tableLayout borderWidth="0" width="100%" cellSpacing="20">
| <trh:rowLayout width="100%" >
| <trh:cellFormat halign="right" width="50%">
| <tr:commandButton id="EDIT" styleClass="button" text="#{msgs.Application_buttonEdit}" action="#{E1Manager.processEdit}" rendered="#{e1Operation=='EDIT'}" />
| </trh:cellFormat>
| <trh:cellFormat halign="left" width="50%">
| <tr:commandButton styleClass="button" text="#{msgs.Application_buttonCancel}" immediate="true" action="#{E1Manager.cancel}" rendered="#{e1Operation!='DISPLAY'}" />
| </trh:cellFormat>
| </trh:rowLayout>
| </trh:tableLayout>
| </tr:panelPage>
| </tr:form>
| </trh:body>
|
| ..................
|
|
Now the problem.
Running on Jboss.4.2.0.GA when I call initEdit everything works fine.
Running on Jboss.4.2.2.GA I get the following error:
|
| 19:38:55,434 ERROR [LazyInitializationException] could not initialize proxy - no Session
| org.hibernate.LazyInitializationException: could not initialize proxy - no Session
| at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:57)
| at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
| at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:166)
| at lazyTest.entity.E2_$$_javassist_15.equals(E2_$$_javassist_15.java)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SimpleSelectOneRenderer._findIndex(SimpleSelectOneRenderer.java:434)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SimpleSelectOneRenderer._getSelectedIndex(SimpleSelectOneRenderer.java:499)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SimpleSelectOneRenderer.encodeAllAsElement(SimpleSelectOneRenderer.java:261)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.FormElementRenderer.encodeAll(FormElementRenderer.java:109)
| at org.apache.myfaces.trinidad.render.CoreRenderer.delegateRenderer(CoreRenderer.java:318)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.InputLabelAndMessageRenderer.renderFieldCellContents(InputLabelAndMessageRenderer.java:142)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.LabelAndMessageRenderer._renderFieldCell(LabelAndMessageRenderer.java:375)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.LabelAndMessageRenderer.encodeAll(LabelAndMessageRenderer.java:270)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.InputLabelAndMessageRenderer.encodeAll(InputLabelAndMessageRenderer.java:120)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:208)
| at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:733)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:287)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:304)
| at org.apache.myfaces.trinidadinternal.renderkit.html.CellFormatRenderer.encodeAll(CellFormatRenderer.java:96)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:208)
| at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:733)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:287)
| at org.apache.myfaces.trinidadinternal.renderkit.html.RowLayoutRenderer.encodeChild(RowLayoutRenderer.java:110)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:304)
| at org.apache.myfaces.trinidadinternal.renderkit.html.RowLayoutRenderer.encodeAll(RowLayoutRenderer.java:88)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:208)
| at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:733)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:287)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:304)
| at org.apache.myfaces.trinidadinternal.renderkit.html.TableLayoutRenderer.encodeAll(TableLayoutRenderer.java:87)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:208)
| at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:733)
| at org.apache.myfaces.trinidadinternal.uinode.UIComponentUINode._renderComponent(UIComponentUINode.java:337)
| at org.apache.myfaces.trinidadinternal.uinode.UIComponentUINode.render(UIComponentUINode.java:279)
| at org.apache.myfaces.trinidadinternal.uinode.UIComponentUINode.render(UIComponentUINode.java:256)
| at org.apache.myfaces.trinidadinternal.ui.composite.ContextPoppingUINode$ContextPoppingRenderer.render(ContextPoppingUINode.java:240)
| at org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:358)
| at org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:313)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderChild(BaseRenderer.java:425)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:343)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:235)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderContent(BaseRenderer.java:142)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.render(BaseRenderer.java:93)
| at org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.XhtmlLafRenderer.render(XhtmlLafRenderer.java:84)
| at org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:358)
| at org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:313)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderChild(BaseRenderer.java:425)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:343)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:235)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderContent(BaseRenderer.java:142)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.render(BaseRenderer.java:93)
| at org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.XhtmlLafRenderer.render(XhtmlLafRenderer.java:84)
| at org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:358)
| at org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:313)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderChild(BaseRenderer.java:425)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:343)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:235)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderContent(BaseRenderer.java:142)
| at org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.BorderLayoutRenderer.renderIndexedChildren(BorderLayoutRenderer.java:56)
| at org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.BorderLayoutRenderer.renderContent(BorderLayoutRenderer.java:86)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.render(BaseRenderer.java:93)
| at org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.XhtmlLafRenderer.render(XhtmlLafRenderer.java:84)
| at org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:358)
| at org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:313)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderChild(BaseRenderer.java:425)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:343)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:235)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderContent(BaseRenderer.java:142)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.render(BaseRenderer.java:93)
| at org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.XhtmlLafRenderer.render(XhtmlLafRenderer.java:84)
| at org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:358)
| at org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:313)
| at org.apache.myfaces.trinidadinternal.ui.composite.UINodeRenderer.renderWithNode(UINodeRenderer.java:104)
| at org.apache.myfaces.trinidadinternal.ui.composite.UINodeRenderer.render(UINodeRenderer.java:50)
| at org.apache.myfaces.trinidadinternal.uinode.UIXComponentUINode.renderInternal(UIXComponentUINode.java:192)
| at org.apache.myfaces.trinidadinternal.uinode.UINodeRendererBase.encodeEnd(UINodeRendererBase.java:70)
| at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:733)
| at org.apache.myfaces.trinidad.render.RenderUtils.encodeRecursive(RenderUtils.java:69)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:282)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:304)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.renderContent(PanelPartialRootRenderer.java:72)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.renderContent(BodyRenderer.java:136)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.encodeAll(PanelPartialRootRenderer.java:152)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:78)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:208)
| at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:733)
| at org.apache.myfaces.trinidad.component.UIXComponentBase.__encodeRecursive(UIXComponentBase.java:1271)
| at org.apache.myfaces.trinidad.component.UIXComponentBase.__encodeRecursive(UIXComponentBase.java:1266)
| at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeAll(UIXComponentBase.java:753)
| at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
| at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
| at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:178)
| at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:174)
| at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
| at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
| at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:208)
| at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:165)
| at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:138)
| at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
| at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| 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:230)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
| at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
| at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
| at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:856)
| at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:566)
| at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1508)
| at java.lang.Thread.run(Thread.java:595)
| 19:38:55,445 ERROR [STDERR] Nov 29, 2007 7:38:55 PM com.sun.facelets.FaceletViewHandler handleRenderException
| SEVERE: Error Rendering View[/E1.xhtml]
| org.hibernate.LazyInitializationException: could not initialize proxy - no Session
| at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:57)
| at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
| at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:166)
| at lazyTest.entity.E2_$$_javassist_15.equals(E2_$$_javassist_15.java)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SimpleSelectOneRenderer._findIndex(SimpleSelectOneRenderer.java:434)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SimpleSelectOneRenderer._getSelectedIndex(SimpleSelectOneRenderer.java:499)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SimpleSelectOneRenderer.encodeAllAsElement(SimpleSelectOneRenderer.java:261)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.FormElementRenderer.encodeAll(FormElementRenderer.java:109)
| at org.apache.myfaces.trinidad.render.CoreRenderer.delegateRenderer(CoreRenderer.java:318)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.InputLabelAndMessageRenderer.renderFieldCellContents(InputLabelAndMessageRenderer.java:142)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.LabelAndMessageRenderer._renderFieldCell(LabelAndMessageRenderer.java:375)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.LabelAndMessageRenderer.encodeAll(LabelAndMessageRenderer.java:270)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.InputLabelAndMessageRenderer.encodeAll(InputLabelAndMessageRenderer.java:120)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:208)
| at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:733)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:287)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:304)
| at org.apache.myfaces.trinidadinternal.renderkit.html.CellFormatRenderer.encodeAll(CellFormatRenderer.java:96)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:208)
| at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:733)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:287)
| at org.apache.myfaces.trinidadinternal.renderkit.html.RowLayoutRenderer.encodeChild(RowLayoutRenderer.java:110)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:304)
| at org.apache.myfaces.trinidadinternal.renderkit.html.RowLayoutRenderer.encodeAll(RowLayoutRenderer.java:88)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:208)
| at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:733)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:287)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:304)
| at org.apache.myfaces.trinidadinternal.renderkit.html.TableLayoutRenderer.encodeAll(TableLayoutRenderer.java:87)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:208)
| at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:733)
| at org.apache.myfaces.trinidadinternal.uinode.UIComponentUINode._renderComponent(UIComponentUINode.java:337)
| at org.apache.myfaces.trinidadinternal.uinode.UIComponentUINode.render(UIComponentUINode.java:279)
| at org.apache.myfaces.trinidadinternal.uinode.UIComponentUINode.render(UIComponentUINode.java:256)
| at org.apache.myfaces.trinidadinternal.ui.composite.ContextPoppingUINode$ContextPoppingRenderer.render(ContextPoppingUINode.java:240)
| at org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:358)
| at org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:313)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderChild(BaseRenderer.java:425)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:343)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:235)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderContent(BaseRenderer.java:142)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.render(BaseRenderer.java:93)
| at org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.XhtmlLafRenderer.render(XhtmlLafRenderer.java:84)
| at org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:358)
| at org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:313)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderChild(BaseRenderer.java:425)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:343)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:235)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderContent(BaseRenderer.java:142)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.render(BaseRenderer.java:93)
| at org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.XhtmlLafRenderer.render(XhtmlLafRenderer.java:84)
| at org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:358)
| at org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:313)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderChild(BaseRenderer.java:425)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:343)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:235)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderContent(BaseRenderer.java:142)
| at org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.BorderLayoutRenderer.renderIndexedChildren(BorderLayoutRenderer.java:56)
| at org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.BorderLayoutRenderer.renderContent(BorderLayoutRenderer.java:86)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.render(BaseRenderer.java:93)
| at org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.XhtmlLafRenderer.render(XhtmlLafRenderer.java:84)
| at org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:358)
| at org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:313)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderChild(BaseRenderer.java:425)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:343)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:235)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderContent(BaseRenderer.java:142)
| at org.apache.myfaces.trinidadinternal.ui.BaseRenderer.render(BaseRenderer.java:93)
| at org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.XhtmlLafRenderer.render(XhtmlLafRenderer.java:84)
| at org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:358)
| at org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:313)
| at org.apache.myfaces.trinidadinternal.ui.composite.UINodeRenderer.renderWithNode(UINodeRenderer.java:104)
| at org.apache.myfaces.trinidadinternal.ui.composite.UINodeRenderer.render(UINodeRenderer.java:50)
| at org.apache.myfaces.trinidadinternal.uinode.UIXComponentUINode.renderInternal(UIXComponentUINode.java:192)
| at org.apache.myfaces.trinidadinternal.uinode.UINodeRendererBase.encodeEnd(UINodeRendererBase.java:70)
| at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:733)
| at org.apache.myfaces.trinidad.render.RenderUtils.encodeRecursive(RenderUtils.java:69)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:282)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:304)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.renderContent(PanelPartialRootRenderer.java:72)
| 19:38:55,450 ERROR [STDERR] at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.renderContent(BodyRenderer.java:136)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.encodeAll(PanelPartialRootRenderer.java:152)
| at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:78)
| at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:208)
| at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:733)
| at org.apache.myfaces.trinidad.component.UIXComponentBase.__encodeRecursive(UIXComponentBase.java:1271)
| at org.apache.myfaces.trinidad.component.UIXComponentBase.__encodeRecursive(UIXComponentBase.java:1266)
| at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeAll(UIXComponentBase.java:753)
| at javax.faces.component.UIComponent.encodeAll(UIComponent.java:892)
| at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
| at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:178)
| at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:174)
| at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
| at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
| at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:208)
| at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:165)
| at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:138)
| at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
| at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| 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:230)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
| at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
| at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
| at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:856)
| at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:566)
| at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1508)
| at java.lang.Thread.run(Thread.java:595)
| 19:38:55,462 ERROR [LazyInitializationException] could not initialize proxy - no Session
| org.hibernate.LazyInitializationException: could not initialize proxy - no Session
| at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:57)
| at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
| at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:166)
| at lazyTest.entity.E2_$$_javassist_15.toString(E2_$$_javassist_15.java)
| at com.sun.facelets.util.DevTools.writeAttributes(DevTools.java:258)
| at com.sun.facelets.util.DevTools.writeStart(DevTools.java:287)
| at com.sun.facelets.util.DevTools.writeComponent(DevTools.java:192)
| at com.sun.facelets.util.DevTools.writeComponent(DevTools.java:210)
| at com.sun.facelets.util.DevTools.writeComponent(DevTools.java:210)
| at com.sun.facelets.util.DevTools.writeComponent(DevTools.java:210)
| at com.sun.facelets.util.DevTools.writeComponent(DevTools.java:210)
| at com.sun.facelets.util.DevTools.writeComponent(DevTools.java:210)
| at com.sun.facelets.util.DevTools.writeComponent(DevTools.java:210)
| at com.sun.facelets.util.DevTools.writeComponent(DevTools.java:210)
| at com.sun.facelets.util.DevTools.writeComponent(DevTools.java:210)
| at com.sun.facelets.util.DevTools.debugHtml(DevTools.java:107)
| at com.sun.facelets.FaceletViewHandler.handleRenderException(FaceletViewHandler.java:692)
| at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:660)
| at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:178)
| at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:174)
| at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
| at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
| at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:208)
| at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:165)
| at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:138)
| at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
| at org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
| at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
| at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
| at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
| 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:230)
| at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
| at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
| at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
| at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
| at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
| at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
| at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
| at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
| at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
| at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:856)
| at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:566)
| at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1508)
| at java.lang.Thread.run(Thread.java:595)
|
|
It seams to me that something has changed from one jboss version to the other.
Can anyone help me in some way ? Anyone have experienced the same problems ?
Thank you
Regards
Fab.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4109036#4109036
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4109036
18 years, 5 months
[JBoss Seam] - Re: Seam security / identity.logout
by b.reeve
Thanks Shane.
I see one more behavior
When i provide the wrong username or password, my configured login method is being called twice. On debugging I see that the method authenticate of Identity class
| public void authenticate()
| throws LoginException
| {
| // If we're already authenticated, then don't authenticate again
| if (!isLoggedIn())
| {
| authenticate( getLoginContext() );
| }
| }
|
is getting called again when my login fails. And once more it runs through my login method and completes.
I am returning true on sucessful login and false on failure and I am checking #{identity.loggedIn} in my pages.xml file. But that is getting called at the very end which is correct, but I can't understand why authenticate is called once again when the login returns false.
Any thoughts about this would be really helpful as there is a whole lot of code going inside my login and I dont want it to be called unnecessarily.
Thanks !
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4109028#4109028
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4109028
18 years, 5 months