org.springframework.beans.NotReadablePropertyException:bean类[com.petstore.model.FreeFormat]的属性'叙述'无效:

时间:2018-04-17 21:32:32

标签: spring weblogic javabeans bean-validation

我们在WebLogic 12c下部署的一个企业应用程序遇到了一个奇怪的问题:

  

org.springframework.beans.NotReadablePropertyException:无效   bean类[com.petstore.model.FreeFormat]的属性'叙述':   Bean属性“叙述”不可读或具有无效的getter   method:getter的返回类型是否与参数类型匹配   二传手?

我们有这个实体类:

public class FreeFormat implements Serializable {
    private String standardText;
    private String openText;

    /** default constructor */
    public FreeFormat() {
    }

    public String getOpenText() {
        return KEString.nullTOBlank(openText);
    }

    public void setOpenText(String openText) {
        this.openText = openText;
    }

    public String getStandardText() {
        return standardText;
    }

    public void setStandardText(String standardText) {
        this.standardText = standardText;
    }

    public String getNarrative(){
        return getStandardText() + "\n" + getOpenText();
    }

当新构建完成并部署到WebLogic服务器12C(使用控制台,删除旧版本并安装新版本,而无需重新启动服务器)时,有时会出现这样的错误:

  
    

16:32:43,476 |错误|错误标签| bean类[com.petstore.model.FreeFormat]的无效属性'叙述':Bean     属性'叙述'不可读或具有无效的getter方法:     getter的返回类型是否与参数类型匹配     设定装置? | org.springframework.web.servlet.tags.RequestContextAwareTag     | 86 | [ACTIVE] ExecuteThread:队列的'19':     'weblogic.kernel.Default(自我调整)'     org.springframework.beans.NotReadablePropertyException:无效     bean类[com.petstore.model.FreeFormat]的属性'叙述':     Bean属性“叙述”不可读或具有无效的getter     method:getter的返回类型是否与参数类型匹配     二传手?在     org.springframework.beans.BeanWrapperImpl.getPropertyValue(BeanWrapperImpl.java:729)       在     org.springframework.beans.BeanWrapperImpl.getPropertyValue(BeanWrapperImpl.java:721)       在     org.springframework.validation.AbstractPropertyBindingResult.getActualFieldValue(AbstractPropertyBindingResult.java:99)       在     org.springframework.validation.AbstractBindingResult.getFieldValue(AbstractBindingResult.java:226)       在     org.springframework.web.servlet.support.BindStatus。(BindStatus.java:120)       在     org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:178)       在     org.springframework.web.servlet.tags.form.ErrorsTag.shouldRender(ErrorsTag.java:140)       在     org.springframework.web.servlet.tags.form.AbstractHtmlElementBodyTag.writeTagContent(AbstractHtmlElementBodyTag.java:47)       在     org.springframework.web.servlet.tags.form.AbstractFormTag.doStartTagInternal(AbstractFormTag.java:102)       在     org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:79)       在     在weblogic.servlet.jsp.JspBase.service(JspBase.java:35)的jsp_servlet._transactions._freeformat .__ freeformat_edit._jspService(__ freeformat_edit.java:2278)     weblogic.servlet.internal.StubSecurityHelper $ ServletServiceAction.run(StubSecurityHelper.java:286)       在     weblogic.servlet.internal.StubSecurityHelper $ ServletServiceAction.run(StubSecurityHelper.java:260)       在     weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137)

  

当服务器重新启动时,问题就消失了,我们运行集群环境,有时它发生在一个实例中但在另一个实例中运行良好,在临时服务器环境中发现,我们重建了相同的环境(相同的JDK,WebLogic等),但是无法在开发环境中重现,我们使用的是Spring Framework 3.1.0.RELEASE版本,并且在将旧版本从Java 6和WebLogic 10迁移到Java 8和WebLogic 12C之后才发现此问题。

有人有什么建议吗?

0 个答案:

没有答案