[JBoss Seam] - Re: Value injection not always working with Seam 1.1
by andrew.rw.robinson
It looks like Seam is no longer intercepting all of my calls. Normally the stack would be full of "proxy" class names. Below, there are no proxies, only the "real" classes. So it seams something has changed that seam is no longer createing the proxy.
here is the stack:
at com.outlooksoft.cpm.livereport.LiveReportBean$ReportApplicationContextModel.loadDimensions(LiveReportBean.java:1262)
| at com.outlooksoft.cpm.dimension.data.DimensionContextModel.ensureDimensionsLoaded(DimensionContextModel.java:176)
| at com.outlooksoft.cpm.dimension.data.DimensionContextModel.getDimensions(DimensionContextModel.java:145)
| at com.outlooksoft.cpm.faces.controls.HtmlDimensionContextRenderer.encodeDimensions(HtmlDimensionContextRenderer.java:249)
| at com.outlooksoft.cpm.faces.controls.HtmlDimensionContextRenderer.encodeEnd(HtmlDimensionContextRenderer.java:175)
| at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:536)
| at org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:442)
| at org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChildren(RendererUtils.java:419)
| at org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlGroupRendererBase.encodeEnd(HtmlGroupRendererBase.java:75)
| at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:536)
| at org.ajaxanywhere.jsf.ZoneUIComponent.renderComponent(ZoneUIComponent.java:90)
| at org.ajaxanywhere.jsf.ZoneUIComponent.renderChildren(ZoneUIComponent.java:71)
| at org.ajaxanywhere.jsf.ZoneUIComponent.encodeChildren(ZoneUIComponent.java:51)
| at com.outlooksoft.cpm.faces.controls.UIAjaxZone.encodeChildren(UIAjaxZone.java:51)
| at org.ajaxanywhere.jsf.ZoneUIComponent.renderComponent(ZoneUIComponent.java:86)
| at org.ajaxanywhere.jsf.ZoneUIComponent.renderChildren(ZoneUIComponent.java:71)
| at org.ajaxanywhere.jsf.ZoneUIComponent.renderComponent(ZoneUIComponent.java:88)
| at org.ajaxanywhere.jsf.ZoneUIComponent.renderChildren(ZoneUIComponent.java:71)
| at org.ajaxanywhere.jsf.ZoneUIComponent.renderComponent(ZoneUIComponent.java:88)
| at org.ajaxanywhere.jsf.ZoneUIComponent.renderChildren(ZoneUIComponent.java:71)
| at org.ajaxanywhere.jsf.ZoneUIComponent.encodeChildren(ZoneUIComponent.java:51)
| at com.outlooksoft.cpm.faces.controls.UIAjaxZone.encodeChildren(UIAjaxZone.java:51)
| at com.sun.facelets.FaceletViewHandler.encodeRecursive(FaceletViewHandler.java:557)
| at com.sun.facelets.FaceletViewHandler.encodeRecursive(FaceletViewHandler.java:562)
| at com.sun.facelets.FaceletViewHandler.encodeRecursive(FaceletViewHandler.java:562)
| at com.sun.facelets.FaceletViewHandler.encodeRecursive(FaceletViewHandler.java:562)
| at com.sun.facelets.FaceletViewHandler.encodeRecursive(FaceletViewHandler.java:562)
| at com.sun.facelets.FaceletViewHandler.encodeRecursive(FaceletViewHandler.java:562)
| at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:457)
| at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
| at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
|
I have not changed any configuration yet. Was there something that changed from 1.0.1 to 1.1 that I missed? The change log didn't seam to say anything.
Here is my technology stack:
MyFaces 1.1.3 (patched)
MyFaces Tomahawk 1.1.3 (patched)
AjaxAnywhere 1.1.0.6
Seam 1.1.0
Facelets 1.0.14
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3995152#3995152
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3995152
19 years, 4 months
[JBoss Seam] - Re: Value injection not always working with Seam 1.1
by andrew.rw.robinson
More information:
I tried changing the scope and that didn't work. Here is more information on this new problem with In:
Bean:
@Name("liveReportBean")
| @LoggedIn
| @Scope(ScopeType.CONVERSATION)
| public class LiveReportBean
| {
| ...
| @In(create=true)
| private DimensionInfoCache dimInfoCache;
| ...
| private ReportApplicationContextModel model;
| ...
|
| public DimensionContextModel getModel()
| {
| return this.model;
| }
| ...
| public class ReportApplicationContextModel
| extends DimensionContextModel
| {
| protected void someMethod()
| {
| // dimInfoCache is null in 1.1, why?
| }
| }
| }
My XHTML/JSF code references this model from using a value binding expression of "#{liveReportBean.model}". My "someMethod" is called when the renderer calls a method on the base class of the model. In 1.0.1 all my "@In(create=true)" variables on the live report bean were set, in 1.1 all are null. I really don't know what is different from 1.0.1 to 1.1 that would stop the in from importing my other beans and injecting them.
@Name("dimInfoCache")
| @Scope(ScopeType.EVENT)
| public class DimensionInfoCache ...
Thanks!
Gavin: to answer your question, In(create=true) works just fine most of the time, but not all of the time, that is what is confusing. This is why I know for sure these beans are being deployed fine. I am wondering if it has to do with serialization?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3995150#3995150
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3995150
19 years, 4 months