myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ioannis Deligiannis <ideligian...@velti.com>
Subject RE: [ Orchestra ] Possible bug -CGLIB and @PostConstruct
Date Thu, 24 Sep 2009 08:54:49 GMT
I will have a look into orchestra's backing bean framework.
Unfortunatelly my problem was that I was stuck too long into this problem that I missed the
previous view that was setting the person to null... arggg....

Thanks for the replying ;-)

Ioannis Deligiannis| Senior Application Engineer

Velti
Mob: +30.6948.593.623 | Tel: +30.210.637.8800 (ext: 6730) | Fax: +30.210.637.8888
Email: ideligiannis@velti.com<mailto:ideligiannis@velti.com> | Web: www.velti.com<http://www.velti.com/>
Velti is a global leader in mobile marketing and advertising solutions for mobile operators,
ad agencies, brands, and media groups.

London | New York | San Francisco | Boston | Athens | Sofia | Nicosia | Paris | Munich | Moscow
| Mumbai | Dubai | Beijing
________________________________
From: Mario Ivankovits [mailto:mario@ops.co.at]
Sent: Wednesday, September 23, 2009 9:06 PM
To: 'MyFaces Discussion'
Subject: RE: [ Orchestra ] Possible bug -CGLIB and @PostConstruct

Hi!

It would be interesting to log.trace the PersonDetailsBean instance itself to see which instance
of the bean things are really working. You should see the PersonDetailsBean@124122 stuff then.
It seems that the @PostConstruct works on a different instance then getPersion() would be
called.

I am not sure what's going on here as I've never used @PostConstruct myself.

Probably you could use Orchestra's ViewController [1] and its @InitView annotation instead?

Ciao,
Mario

[1] http://myfaces.apache.org/orchestra/myfaces-orchestra-core/viewController.html


Von: Ioannis Deligiannis [mailto:ideligiannis@velti.com]
Gesendet: Mittwoch, 23. September 2009 17:19
An: MyFaces Discussion
Betreff: [ Orchestra ] Possible bug -CGLIB and @PostConstruct

Hi,

I have the following declaration:
@Component("personDetailsBean")
@Scope("conversation.access")
public class PersonDetailsBean {
...
...
      public Person getPerson() {
            log.trace(getClass().toString());
            log.trace("UID="+person.getUid());
            return person;
      }
...
...
      @PostConstruct
      public void init() {
            if (log.isTraceEnabled()) {
                  log.trace("Initializing bean...");
            }

            if (uidToLoad > 0) {
                  // load here
                  log.debug("Loading...");
                  person = new PersonImpl(uidToLoad, null, null);

            }
            // Create empty here...
            if (person == null) {
                  person = new PersonImpl(0, null, null);
            }
      }...

It seems that CGLib is not interepting in the correct order since I get a null pointer. If
I change the scope to request it works fine. From trace info there is some weird stuff going
on:

18:14:11,526 TRACE PersonDetailsBean:29 - Bean is being created
18:14:11,542 TRACE PersonDetailsBean:29 - Bean is being created
18:14:11,542 TRACE PersonDetailsBean:57 - Initializing bean...
18:14:11,558 TRACE PersonDetailsBean:29 - Bean is being created
18:14:11,870 TRACE PersonDetailsBean:39 - class com.jid1.web.view.bean.PersonDetailsBean
18:14:11,995 TRACE PersonDetailsBean:39 - class com.jid1.web.view.bean.PersonDetailsBean
18:14:11,995 TRACE PersonDetailsBean:39 - class com.jid1.web.view.bean.PersonDetailsBean
18:14:12,011 TRACE PersonDetailsBean:39 - class com.jid1.web.view.bean.PersonDetailsBean
18:14:12,011 TRACE PersonDetailsBean:39 - class com.jid1.web.view.bean.PersonDetailsBean

Notice that the second line of getPerson is not being printed at all (although this could
be a guard or something for a null pointer).
When JSF tries to access the bean I get the following exception.

Thanks

STrace:
18:14:12,042 ERROR _ErrorPageWriter:350 - An exception occurred
org.apache.jasper.el.JspELException: /jsf/viewPerson.jspx(51,64) '#{personDetailsBean.person.uid}'
Error reading 'person' on type com.jid1.web.view.bean.PersonDetailsBean$$EnhancerByCGLIB$$66f4a916
      at org.apache.jasper.el.JspValueExpression.isReadOnly(JspValueExpression.java:77)
      at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.EditableValueRenderer.getReadOnly(EditableValueRenderer.java:244)
      at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.FormElementRenderer.renderAsElement(FormElementRenderer.java:217)
      at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.InputLabelAndMessageRenderer.getLabelFor(InputLabelAndMessageRenderer.java:78)
      at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.LabelAndMessageRenderer$Label.getForId(LabelAndMessageRenderer.java:633)
      at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.OutputLabelRenderer.encodeAll(OutputLabelRenderer.java:89)
      at org.apache.myfaces.trinidad.render.CoreRenderer.delegateRenderer(CoreRenderer.java:330)
      at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.LabelAndMessageRenderer._renderLabelCell(LabelAndMessageRenderer.java:358)
      at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.LabelAndMessageRenderer.encodeAll(LabelAndMessageRenderer.java:272)
      at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.InputLabelAndMessageRenderer.encodeAll(InputLabelAndMessageRenderer.java:124)
      at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:220)
      at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:750)
      at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:299)
      at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLayoutRenderer._encodeFormItem(PanelFormLayoutRenderer.java:746)
      at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLayoutRenderer._encodeFormColumns(PanelFormLayoutRenderer.java:672)
      at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLayoutRenderer._encodeChildren(PanelFormLayoutRenderer.java:313)
      at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLayoutRenderer.encodeAll(PanelFormLayoutRenderer.java:199)
      at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:220)
      at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:750)
      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._renderTableContent(BorderLayoutRenderer.java:171)
      at org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.BorderLayoutRenderer.renderContent(BorderLayoutRenderer.java:74)
      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:750)
      at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:299)
      at org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:316)
      at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.renderContent(PanelPartialRootRenderer.java:64)
      at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.renderContent(BodyRenderer.java:139)
      at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.encodeAll(PanelPartialRootRenderer.java:119)
      at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:79)
      at org.apache.myfaces.trinidad.render.CoreRenderer.delegateRenderer(CoreRenderer.java:330)
      at org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.DocumentRenderer.encodeAll(DocumentRenderer.java:80)
      at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:220)
      at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:750)
      at org.apache.myfaces.trinidad.component.UIXComponentBase.__encodeRecursive(UIXComponentBase.java:1288)
      at org.apache.myfaces.trinidad.component.UIXComponentBase.__encodeRecursive(UIXComponentBase.java:1283)
      at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeAll(UIXComponentBase.java:770)
      at javax.faces.component.UIComponent.encodeAll(UIComponent.java:246)
      at org.apache.myfaces.application.jsp.JspViewHandlerImpl.actuallyRenderView(JspViewHandlerImpl.java:423)
      at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:380)
      at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:45)
      at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176)
      at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
      at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
      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:241)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:198)
      at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:141)
      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.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356)
      at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:112)
      at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:86)
      at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
      at org.springframework.security.web.session.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java:68)
      at org.springframework.security.web.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:44)
      at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
      at org.springframework.security.web.access.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:97)
      at org.springframework.security.web.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:44)
      at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
      at org.springframework.security.web.authentication.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
      at org.springframework.security.web.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:44)
      at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
      at org.springframework.security.web.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:89)
      at org.springframework.security.web.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:44)
      at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
      at org.springframework.security.web.authentication.www.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)
      at org.springframework.security.web.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:44)
      at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
      at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilterHttp(AbstractAuthenticationProcessingFilter.java:197)
      at org.springframework.security.web.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:44)
      at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
      at org.springframework.security.web.authentication.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:102)
      at org.springframework.security.web.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:44)
      at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
      at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilterHttp(SecurityContextPersistenceFilter.java:77)
      at org.springframework.security.web.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:44)
      at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
      at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:171)
      at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
      at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
      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:233)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
      at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
      at com.jid1.web.view.bean.PersonDetailsBean.getPerson(PersonDetailsBean.java:40)
      at com.jid1.web.view.bean.PersonDetailsBean$$FastClassByCGLIB$$b014e199.invoke(<generated>)
      at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
      at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:692)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
      at org.apache.myfaces.orchestra.conversation.CurrentConversationAdvice.invoke(CurrentConversationAdvice.java:84)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
      at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:625)
      at com.jid1.web.view.bean.PersonDetailsBean$$EnhancerByCGLIB$$d022070c.getPerson(<generated>)
      at com.jid1.web.view.bean.PersonDetailsBean$$FastClassByCGLIB$$b014e199.invoke(<generated>)
      at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
      at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:692)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
      at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
      at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
      at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:625)
      at com.jid1.web.view.bean.PersonDetailsBean$$EnhancerByCGLIB$$66f4a916.getPerson(<generated>)
      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 javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
      at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
      at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.access$301(FacesCompositeELResolver.java:46)
      at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver$4.invoke(FacesCompositeELResolver.java:108)
      at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.invoke(FacesCompositeELResolver.java:148)
      at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:104)
      at org.apache.el.parser.AstValue.getTarget(AstValue.java:82)
      at org.apache.el.parser.AstValue.isReadOnly(AstValue.java:126)
      at org.apache.el.ValueExpressionImpl.isReadOnly(ValueExpressionImpl.java:224)
      at org.apache.jasper.el.JspValueExpression.isReadOnly(JspValueExpression.java:71)
      ... 135 more


Ioannis Deligiannis| Senior Application Engineer

Velti
Mob: +30.6948.593.623 | Tel: +30.210.637.8800 (ext: 6730) | Fax: +30.210.637.8888
Email: ideligiannis@velti.com<mailto:ideligiannis@velti.com> | Web: www.velti.com<http://www.velti.com/>
Velti is a global leader in mobile marketing and advertising solutions for mobile operators,
ad agencies, brands, and media groups.

London | New York | San Francisco | Boston | Athens | Sofia | Nicosia | Paris | Munich | Moscow
| Mumbai | Dubai | Beijing


Mime
View raw message