つまり、Web サーバーでのシリアル化時に、org.jbpm.graph.def.ProcessDefinition クラスのすべてのインスタンスの processDefinition フィールドを null に設定したいので、CXF Web サービスから値を返すたびにこの例外が発生しないようにします。
com.sun.istack.SAXException2 : A cycle is detected in the object graph. This will cause infinitely deep XML: ProcessDefinition(DailyProcess) -> ProcessDefinition(DailyProcess)
尋ねる理由は、私はすでに以下のクラスを書いているからです
public class XmlJbpmProcessDefinitionAdapter extends XmlAdapter<ProcessDefinition, ProcessDefinition> {
@Override
public ProcessDefinition unmarshal(ProcessDefinition v) throws Exception {
return v;
}
@Override
public ProcessDefinition marshal(ProcessDefinition v) throws Exception {
v.setProcessDefinition(null);
return v;
}
}
package-info.java ファイルで次のように定義しました。
@XmlJavaTypeAdapter(value=XmlJbpmProcessDefinitionAdapter.class, type=org.jbpm.graph.def.ProcessDefinition.class)
ただし、そのメソッドは呼び出されません。