hakobera's blog

技術メモ。たまに雑談

Spring

Hotdeploy と WTPの相性について その2

maven2 との連携の観点から。 Eclipse 3.4 (WTP 2.0) では以下のような動きをするというメモ。 Tomcat 前回の記事のコメントでもらった以下の情報通りにやると動かない。(アプリは動くが Hotdeploy できない)http://d.hatena.ne.jp/uriyuri/20080328/12066…

Hotdeploy と Eclipse WTP サーバープラグインの相性があまりよくないかも

thick4 で Spring でも Hotdeploy ができるようになったのだが、実は Hotdeploy の仕組みと Eclipse WTP の 各種 Server プラグインの相性があまり良くないということがわかった。Hotdeploy は Eclipse の Javaクラス自動ビルド機能を利用して、ソースの変更…

Spring で Hotdeploy を実現する thick4 公開

とりあえずモノがないと、信じてくれない人もいると思う(自分がそうなので)ので、Spring で Hotdeploy を実現するライブラリーを公開します。http://code.google.com/p/thick4/Slim3 が正式に Spring から手を引いたみたいなので、トリビュートとして thic…

Spring で public プロパティーもどき

SpringでもDIのためだけにセッターを書く必要はない、という話です。 Spring 使っている人には当たり前の話なので、読み飛ばしてください。 public class Foo { @Autowired public Bar bar; } もしくは public class Foo { @Resource public Bar bar; } 早く…

Springのメンテナンス・ポリシー変更で、Slim3 は Spring 対応しない!?

Spring で Hotdeploy を書いているわけですが、2つほどショックなことが。1つ目は Spring のメンテナンス・ポリシーの変更。http://www.springsource.com/node/558というわけで、実質的に Spring (2.5.5 以降の) のマイナー・バージョン は有償化です。 こ…

Spring で Hotdeploy その6

再読み込み対象の XML ファイルの登録。 XmlBeanDefinitionReaderCBP の機能を再現します。 /** * Registers each XML bean resource with the SpringSingletonReconfigurer. */ public class XmlBeanDefinitionReaderCBP extends JavassistClassBytecodePro…

Spring で Hotdeploy その5

本命のキャッシュ無効化! org.zeroturnaround.javarebel.integration.spring.InjectionMetadataCacheCBP を移植?します。 public class InjectionMetadataCacheCBP extends JavassistClassBytecodeProcessor { public void process(ClassPool cp, ClassLoa…

SpringでHotdeploy その4

順番が前後してしまいましたが、Hotdeployに関連するクラス一覧をあげておきます。 SpringPlugin クラスをみてもらうとわかるのですが、JavaRabel は以下のクラスに対して Javassist で変更をかけています。 org.springframework.beans.factory.annotation.A…

SpringでHotdeploy その3

それでは、XmlWebApplicationContext を継承した、Hotdeploy対応の HotDeployXmlWebApplicationContext クラスを作っていきます。まずは、以下のXmlBeanDefinitionReaderCBP の移植方法です。 package org.zeroturnaround.javarebel.integration.spring; imp…

SpringでHotdeploy その2

Springは内部で色々とキャッシュを持っているので、Hotdeployするためにはそれを無効化する方法を考えなくてはいけません。と言っても、ゼロから調査するのは大変なので、先人の知恵を拝借。ひがさんのところでも紹介されていた以下のOSSを参考にしました。J…

SpringでHotdeploy その1

Slim3がなかなか出てこないけど、案件は迫ってきているので、仕方なく自分で実装することしました。 備忘録代わりに、何日かやってみた経過を記したいと思う。対象は Spring 2.5.2 以上です。SpringでHotdeployしようとする場合、Classオブジェクトやインス…