S2Remoting 0.0.3 リリース.
0.0.2 のリリースから数時間しか経っていませんが...
S2Remoting の 0.0.3 をリリースしました.Seasar Wiki からダウンロードすることが出来ます.
http://seasar.satin.jp/wiki/index.php?Sandbox%2FS2Remoting
変更点は,「Re:S2RemotingのRMI実装」に書いた URLStreamHandlerRegistry
と UnopenableURLStreamhandler
の追加です.
Seasar 2.1 の DTD
この前 Kijimuna について次のような dicon ファイル
<components> <meta name="foo"/> <component class="..."/> </components>
で「[XML]要素 "components" ではここに "component" を指定することを許可されません。」というエラーが出ると書きましたが,これはエラーになって当然でした.
S2.1 の DTD は,
<!ELEMENT components ( description?, include*, component*, meta* )>
だったのですね.
これって,(たしか) かとちんさんの杏^h案
<!ELEMENT components ( description?, include*, (component | meta)* )>
にしてくれるという話じゃありませんでしたっけ?>ひがさん
いつだったかの語る会 or OOEnkai でそんな話をしたような... 気のせい?
ともあれ (JW),かとちん案への変更を検討して頂けるとうれしいなぁ〜.
S2Axis 1.0.0-alpha3 あとちょっと
S2Remoting 対応とクライアントサイドでのハンドラおよび WSDD ファイルのデプロイが出来るようになりました.ドキュメントも直したよ.
相変わらず単体テストが不十分なのですが... 心より恥じる.
ともあれ (JW),夜 (未明?) にはリリースできると思います.
さて,寝るか...
S2Hessian のコネクタ
しむらさんが S2Hessian のクライアントを S2Remoting 対応してくださったので拝見しました.
なんか,HessianConnecto
と BurlapConnector
っが限りなくそっくりで,しかも HessianProxyFactory
も BurlapProxyFactory
もインタフェース ServiceProxyFactory
を実装しているので,ほとんどのコードは抽象クラスにまとめた方がよいかと思いました.
こんな感じ (パッケージもちょっと短めで).
package org.seasar.remoting.caucho.client; import java.lang.reflect.Method; import java.net.URL; import java.util.HashMap; import java.util.Map; import org.seasar.remoting.client.connector.impl.URLBasedConnector; import com.caucho.services.client.ServiceProxyFactory; public abstract class AbstractCauchoConnector extends URLBasedConnector { protected final ServiceProxyFactory factory; protected final Map proxyCache = new HashMap(); protected AbstractCauchoConnector(final ServiceProxyFactory factory) { this.factory = factory; } protected Object invoke(final URL targetURL, final Method method, final Object[] args) throws Throwable { final Class targetClass = method.getDeclaringClass(); Object proxy; synchronized (this) { proxy = proxyCache.get(targetClass); if (proxy == null) { proxy = factory.create(targetClass, targetURL.toString()); proxyCache.put(targetClass, proxy); } } return method.invoke(proxy, args); } }
そして Hessian 用のコネクタ.
package org.seasar.remoting.caucho.client; import com.caucho.hessian.client.HessianProxyFactory; public class HessianConnector extends AbstractCauchoConnector { public HessianConnector() { super(new HessianProxyFactory()); } }
さらに Burlap 用のコネクタ.
package org.seasar.remoting.caucho.client; import com.caucho.burlap.client.BurlapProxyFactory; public class BurlapConnector extends AbstractCauchoConnector { public BurlapConnector() { super(new BurlapProxyFactory()); } }
どうでしょう?
S2Remoting 0.0.4 リリース
変更点は以下の通りです.
URLStreamHandlerRegistry
で使っている HashMap を同期していなかったのを修正しました.- ドキュメント (
xdocs/index.xml
) をちょっとだけ加筆しました.
Seasar Wiki からダウンロードすることが出来ます.
http://seasar.satin.jp/wiki/index.php?Sandbox%2FS2Remoting
今回から Jar ファイルも置いてみました.8KB 程度なのでいいですよね?>suga さん
S2Axis 1.0.0-alpha3 リリース
変更点は以下の通りです.
- S2Remoting に対応しました.このため,クライアント側の dicon ファイルの書き方が alpha2 とは異なります.
- パッケージを
org.seasar.axis
からorg.seasar.remoting.axis
に変更しました. <meta>
要素のname
属性に指定する名前の接頭辞をs2axis
からs2-axis
に変更しました.- ハンドラおよび WSDD ファイルのデプロイをクライアント側でも出来るようにしました.
今回はパッケージ名と <meta>
の名前を変更したため,alpha2 で動いていた dicon ファイルはかなりの修正が必要になります.ご迷惑をおかけして申し訳ありません.m(__)m
sourceforge からダウンロードすることが出来ます.
http://sourceforge.jp/projects/seasar/files/?release_id=12902#12902
ともあれ (JW),S2Remoting が Sandbox なのにそれに依存する S2Axis が Sandbox じゃないのはいかがなものか? やっぱり S2Axis も Sandbox 行きにすべきか...