Jsf p:selectOneRadio转换器导致堆栈内存问题

Jsf p:selectOneRadio转换器导致堆栈内存问题,jsf,primefaces,converter,selectoneradio,Jsf,Primefaces,Converter,Selectoneradio,真奇怪 我有一个转换器,当我使用p:SelectOneMenu时可以工作,但是当我切换到p:SelectOneRadio时,我会遇到一个java堆空间错误导致的严重崩溃。stacktrace似乎没有任何用处,只是一个java.lang.OutOfMemoryError 这项工作: <p:selectOneMenu id="regions" value="#{aDMSBean.selectedRegion}"> <f:selectItem itemLabel="Globa

真奇怪

我有一个转换器,当我使用p:SelectOneMenu时可以工作,但是当我切换到p:SelectOneRadio时,我会遇到一个java堆空间错误导致的严重崩溃。stacktrace似乎没有任何用处,只是一个java.lang.OutOfMemoryError

这项工作:

<p:selectOneMenu id="regions" value="#{aDMSBean.selectedRegion}">
    <f:selectItem itemLabel="Global" itemValue="#{null}" />
    <f:selectItems value="#{aDMSBean.adminRegions}" var="adminRegion" itemLabel="#  {adminRegion.regionName}" itemValue="#{adminRegion}" />                 
    <f:converter id="adminRegionConverter" converterId="regionConverter"  /> 
    <p:ajax listener="#{aDMSBean.regionSelect}" update="unassignedTasks"></p:ajax>                  
</p:selectOneMenu>  
问候


最后调用的是递归@RooToString方法。我必须检查数据模型关系,并在@RooToString中添加注释,以避免在一些实体中出现循环

@RooToString(excludeFields={“adminRegion”})


嗨,最后调用的是递归RooToString方法。我必须检查数据模型关系,并向RooToString添加注释,以避免在一些实体RooToString(excludeFields={“adminRegion”})中出现循环
<p:selectOneRadio  id="regions" value="#{aDMSBean.selectedRegion}">
        <f:selectItem itemLabel="Global" itemValue="#{null}" />
        <f:selectItems value="#{aDMSBean.adminRegions}" var="adminRegion" itemLabel="#  {adminRegion.regionName}" itemValue="#{adminRegion}" />                 
        <f:converter id="adminRegionConverter" converterId="regionConverter"  /> 
        <p:ajax listener="#{aDMSBean.regionSelect}" update="unassignedTasks"></p:ajax>                  
    </p:selectOneRadio>
@FacesConverter("regionConverter")
public class RegionConverter  implements Converter  {

    @Override
    public Object getAsObject(FacesContext context, UIComponent component, String value) {
        Region region = null;

        if (value != null && value.length() > 0) {
            region = Region.findRegion(new Long(value));
        }

        return region;
    }

    @Override
    public String getAsString(FacesContext context, UIComponent component, Object value) {
        String val = "";
        if (value != null && value instanceof Region) {
            val = ((Region) value).getId().toString();
        }
        return val;
    }
}