生成されたクラスのかなり複雑なスタックが与えられ、DWR を使用してサーバーとクライアントの間で送信する必要があります。クラスの 1 つは jax.xml.datatype.Duration を使用します。これは、期間を使用してテストデータで Bean を作成する Java コードです。
DatatypeFactory df = DatatypeFactory.newInstance();
Duration duration = df.newDuration(RANDOM.nextLong());
testObject.setDuration(duration);
DWR は、オブジェクト内のその期間が好きではありません:
エラー [org.directwebremoting.dwrp.DefaultConverterManager] - 「com.sun.org.apache.xerces.internal.jaxp.datatype.DurationImpl」のコンバーターが見つかりません
そして時折、クラス com.sun.org.apache.xerces.internal.jaxp.datatype.DurationImpl に対して同じメッセージが表示されます (JavaScript から Java に戻ったときだったと思います)。
通常のコンバーターを定義しても役に立ちません。
<dwr:convert type="bean" match="com.sun.org.apache.xerces.internal.jaxp.datatype.DurationImpl"/>
<dwr:convert type="bean" match="javax.xml.datatype.Duration"/>
それらは実際には豆ではないため、上記は機能しないと確信しています。しかし、私はそれを機能させる方法について途方に暮れています。カスタムコンバーターを定義できるといくつかの場所で読みましたが、詳細は非常に曖昧で、ほとんどの場合時代遅れのようです。DWRのWebサイトには、すべてを説明するリンクがあると書かれていますが、実際の実装には役立たないjavadocにリンクしているだけです。
期間を処理する方法を理解するのを手伝ってくれる人はいますか?