めざましテレビ
今日の早耳ムスメは臼田あさ美ちゃーん,お題は「お得なアイテムを GET!! 冬のバーゲン情報」.
新年最初の早耳ムスメはやっぱりあさ美ちゃん♪ こりゃーいい年になること間違いなし!!
そんなわけで (どんなわけで?),「今日はたくさん買っちゃうゾ! GO!!」と小走り.おいらもたくさん買いたいゾ!! って,いうじゃなぁーい.でもおいら,昨年たくさん買いすぎましたから!! 残念!!!!
ともあれ (JW),あさ美ちゃんがバーゲンアイテムを怒濤の着回し.でもでも,残念ながらいかにもセール品という感じのクセのあるアイテムが多くてあまり魅力的には見えませんでした.
最後はスタジオにあさ美ちゃん登場!! ふーん,アヤパンと並んでもあまり身長変わらない感じなんですね.
それより気になったのは大塚さんの一言.
「今年もまた,登板回数 No1 だね」
マジっすか!? もう決定っすか!? よかったねー,まこたん.いいお年玉じゃん! (^^;
S2Axis 1.0.0-alpha3
今週末にリリースしたいと思います.
変更点は,太一さんからのリクエストでクライアントサイドでもハンドラを S2 で管理できるようにすることと,ついでにクライアントサイドでも WSDD をデプロイできるようにすること.
それから,S2Axis が提供する dicon ファイルは s2-axis.dicon
という名前なのですが,<meta>
要素で使う名前は s2axis:
〜 でハイフンの有無が不揃いなので,どちらかに統一したいと考えています.JAR の名前が s2-axis-x.y.z.jar
になっているなど,大文字なら S2Axis だけど小文字の時は s2-axis が多いので,そっちに合わせようかなぁ.
その他リクエストなどありましたらお願いします.
S2Remoting
スペックリーダーらしいので少しは仕事を.
まずはクライアントサイドで利用するインターセプタに関して抽象クラスを用意しましょうということで,こんな感じでいかがでしょうか?
まずはリモート呼び出しを行うインターセプタの抽象基底クラス.
package org.seasar.remoting.interceptors; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import org.aopalliance.intercept.MethodInvocation; import org.seasar.framework.aop.interceptors.AbstractInterceptor; public abstract class AbstractRemoteInterceptor extends AbstractInterceptor { public Object invoke(final MethodInvocation invocation) throws Throwable { final Method method = invocation.getMethod(); if (Modifier.isAbstract(method.getModifiers())) { return invokeRemoteMethod(invocation); } else { return invocation.proceed(); } } protected abstract Object invokeRemoteMethod(MethodInvocation invocation) throws Throwable; }
その派生クラスで,URL を指定できるもの.
package org.seasar.remoting.interceptors; import java.net.MalformedURLException; import java.net.URL; public abstract class URLBasedRemoteInterceptor extends AbstractRemoteInterceptor { private URL url; public URL getURL() { return url; } public void setURL(final URL url) { this.url = url; } public void setURL(final String url) throws MalformedURLException { setURL(new URL(url)); } }
getURL()
よりも getUrl()
の方がいいですかねぇ? Spring は getUrl()
.でも Java 的には getURL()
の方をよく見かける気がします.
ちなみに getURL
だと dicon に書くときは
<property name="URL">〜</property>
というようにプロパティ名が大文字の URL
になっちゃうんですよね.どっちがいいかご意見よろしくです〜.
それから,setURL(String)
も定義してみたら,セッター・インジェクションでプロパティに設定できなくなっちゃいました.一つのプロパティに setter が複数あるのはイレギュラーという気もしますが,できれば一番マッチする型の setter が呼び出されるとうれしいんですけどねぇ.無理?>ひがさん
無理だったらせめて例外を飛ばすか警告メッセージでも出して欲しいかも.今はプロパティに設定されないだけで何も通知されないみたいなので.
toString
とかは、Interceptor
で気の利いた文字列を作ってあげたほうがいいのかなぁ。
なーんと,toString() なんかには Aspect を適用できないことが判明.ポイントカットに .*
を指定しても適用されないし,toString
って指定すると NoSuchMethodException
が飛んできました.hashCode()
なんかも同じ.そういうものだったのか...
ってことは,toString()
なんかがリモート呼び出しされるとか心配する必要はなかったわけですね... 心より恥じる.
ともあれ (JW),上のようなクラス二つですが,これを S2Remoting としてリリースします? それともこれだけだったら S2 本体 (Extension) に入れてもらうのもありのような.
あと,S2Remoting というのは RMI のサポートを含むんでしょうか? それともそれは S2RMI とか別物とする?
「S2Remoting」をちゃんと分かってないダメダメなスペックリーダーです... 無念だ.