[uruma-dev:171] Re: S2規約とColddeploy対応
KOMORI Yusuke
[E-MAIL ADDRESS DELETED]
2008年 4月 2日 (水) 20:56:04 JST
$B?y>e$5$s(B
$B!!>.?9$G$9!#(B
> S2Container $BB&$N=$@5$"$j$,$H$&$4$6$$$^$9!#(B
> brunch$B$G0J2<$N=$@5$r9T$$$^$7$?!#(B
$B!!$*Hh$l$5$^$G$9!*(B
> $B!cJ}?K!d(B
> S2Container $BB&$N=$@5$,40N;$7!"!"(Bbrunch$B$N=$@5FbMF$K(B
> $BLdBj$,$J$$$h$&$G$7$?$i!"(Bcooldeploy$B$r(Btrunk$B$K%^!<%8$H(B
> S2Container $B$N(B VerUP$B$r$7$h$&$H;W$$$^$9!#(B
> $B!J"((B Hotdeploy$B$OIT0BDj$J$N$G!"(Btrunk$B$K$O$^$@%^!<%8$7$^$;$s!K(B
$B!!$O$$!"$=$NJ}8~$G$*4j$$$7$^$9!#(B
> $B!c$*4j$$!d(B
> S2Container $BB&$G#[E-MAIL ADDRESS DELETED]$N=$@5$r$*4j$$$?$7$^$9!#(B
> $B=$@5FbMF$N(BUrumaNamingConventionImpl$B$H(BEnv$B$r;2>H$/$@$5$$!#(B
> $B$^$?!"%V%i%s%A$N(Borg.seasar.framework$B%Q%C%1!<%80J2<$K=$@5HG$rCV$$$F$$$^$9!#(B
$B"#(BNamingConventionImpl
$B!!(Bprotected $B$r(B public $B$KJQ99$9$k$N$O4JC1$J$N$G$9$,!"$3$N%/%i(B
$B%9$O(B NamingConvention $B%$%s%?!<%U%'!<%9$N<BAu%/%i%9$G$9!#(B
$B!!$R$g$C$H$7$?$i!"$3$l$i$NFbIt%/%i%9$r30=P$7$K$7$?J}$,$h$$$+(B
$B$b$7$l$^$;$s!#(B
$B!!$A$g$C$H8!F$$5$;$F$/$@$5$$!#(B
$B"#(BEnv
ResourceNotFoundRuntimeException$B$O%/%i%9%Q%9>e$N%j%=!<%9$,(B
$BB8:_$7$J$$$H$-$K%9%m!<$9$Y$-Nc30$G$9!#(B
$B:#2s$O(BFile$B%/%i%9$r%;%C%H$9$k$N$G!"$G$-$l$P(B
FileNotFoundException$B$r%9%m!<$9$Y$-$H9M$($F$$$^$9!#(B
Uruma$BB&$GNc30$r%-%c%C%A$7$[E-MAIL ADDRESS DELETED]$K=hM}$9$Y$-$H;W$&$N$G$9$,!"(B
$BFq$7$$$G$7$g$&$+!#(B
On Wed, 2 Apr 2008 17:33:04 +0900, "$B?y>eMNJ?(B" <[E-MAIL ADDRESS DELETED]> wrote:
> $B>.?9$5$s(B
>
> $B?y>e$G$9!#(B $BCY%l%9$9$$$^$;$s!#(B
>
> S2Container $BB&$N=$@5$"$j$,$H$&$4$6$$$^$9!#(B
> brunch$B$G0J2<$N=$@5$r9T$$$^$7$?!#(B
>
> $B!c$*4j$$!d(B
> S2Container $BB&$G#[E-MAIL ADDRESS DELETED]$N=$@5$r$*4j$$$?$7$^$9!#(B
> $B=$@5FbMF$N(BUrumaNamingConventionImpl$B$H(BEnv$B$r;2>H$/$@$5$$!#(B
> $B$^$?!"%V%i%s%A$N(Borg.seasar.framework$B%Q%C%1!<%80J2<$K=$@5HG$rCV$$$F$$$^$9!#(B
>
> $B!cJ}?K!d(B
> S2Container $BB&$N=$@5$,40N;$7!"!"(Bbrunch$B$N=$@5FbMF$K(B
> $BLdBj$,$J$$$h$&$G$7$?$i!"(Bcooldeploy$B$r(Btrunk$B$K%^!<%8$H(B
> S2Container $B$N(B VerUP$B$r$7$h$&$H;W$$$^$9!#(B
> $B!J"((B Hotdeploy$B$OIT0BDj$J$N$G!"(Btrunk$B$K$O$^$@%^!<%8$7$^$;$s!K(B
>
> $B!c=$@5FbMF!d(B
> MANIFEST.MF
> $B-!(BExported packages$B$r=$@5!J(Borg.seasar.uruma.container$B0J2<$r8x3+!K(B
> $B-"(Bseasar$B$N(BVer$B$r(B2.4.25-20080401$B$KJQ99(B
>
> $B!d(Burumacooldeploy-autoregister.dicon
> $B!d(B $B"*(B Uruma $B$X$H$j$3$_(B
> $B!d(BS2Container $B$O!"%3%s%F%/%9%H%/%i%9%m!<%@$+$i(Bdicon$B%U%!%$%k(B
> $B!d(B $B$rFI$_9~$`$7$h$&$K$J$C$F$$$k$N$G!"(BUrumaS2ContainerFactoryCoolProvider
> $B!d$NCf$G(B UrumaService#switchToUrumaClassLoader() $B$r8F$S=P$7$F(B
> $B!d$+$i%$%s%/%k!<%I$9$l$P!"FI$_9~$a$k$h$&$J5$$,$7$^$9!#(B
> $B-!(Burumacooldeploy-autoregister.dicon$B$O(BUrumaApp$BB&$G;}$D$h$&$K$7$^$7$?!#(B
> UrumaServie$B$N:[E-MAIL ADDRESS DELETED];A0$N=hM}%?%$%_%s%0$N$?$a!"(BUrumaServiceUtil$B$+$i(B
> UrumaServie$B$r;2>H$G$-$^$;$s$G$7$?!#(B
> $B-"(Burumacooldeploy.dicon$B$N(Bcomponent class$B%Q%9$r=$@5(B
>
>
> >UrumaCoolComponentAutoRegister
> > $B"*(B Uruma $B$X%Q%C%1!<%80\F0(B & CoolComponentAutoRegister $B$N%5%V(B
> > $B%/%i%9$K$7$FI,MW%a%=%C%I$N$_%*!<%P!<%i%$%I(B
> $B-!0J2<$N%Q%C%1!<%80\F0(B
> org.seasar.uruma.container.cooldeploy
> $B-"I,MW%a%=%C%I$N$_%*!<%P!<%i%$%I(B
> registerAll$B%a%=%C%I$N$_%*!<%P!<%i%$%I(B
>
>
> $B!d(BUrumaS2ContainerFactoryCoolConfigurator
> $B!d(B $B"*(B Uruma $B$X%Q%C%1!<%80\F0(B
> $B-!0J2<$N%Q%C%1!<%80\F0(B
> org.seasar.uruma.container.cooldeploy
>
>
> $B!d(BUrumaS2ContainerFactoryCoolProvider
> $B!d(B $B"*(B Uruma $B$X%Q%C%1!<%80\F0(B
> $B-!0J2<$N%Q%C%1!<%80\F0(B
> org.seasar.uruma.container.cooldeploy
>
>
> $B!d(B*Creator
> $B!d(B $B"*(B Uruma*Creator $B$K%j%M!<%`$7$F(B Uruam $B%Q%C%1!<%8$X0\F0(B
> $B!d(B + $B%G%U%)%k%H$N(B creator.dicon $B$rDs6!(B
> $B-!0J2<$N%Q%C%1!<%80\F0(B
> org.seasar.uruma.container.creator
> $B-"(BUruma*Creator $B$K%j%M!<%`(B
> $B-#(BUrumaApp$BB&$K(Bconvention.dicon$B$rG[CV(B
> creator.dicon$B$N(Bcomponent class$B%Q%9$r=$@5(B
>
>
> $B!d(BUrumaNamingConventionImpl
> $B!d(B $B"*(B Uruma $B$X%Q%C%1!<%80\F0(B
> $B!d(B + $B%G%U%)%k%H$N(B convention.dicon $B$rDs6!(B
> $B-!0J2<$N%Q%C%1!<%80\F0(B
> org.seasar.uruma.container.convention
> $B-"(BUrumaApp$BB&$K(Bconvention.dicon$B$rG[CV(B
> convention.dicon$B$N(Bcomponent class$B%Q%9$r=$@5(B
> $B-#%$%s%J!<%/%i%9!J(BExistChecker$B7O!K$,(Bprotected$B$N$?$a(B
> $BB>%Q%C%1!<%8;2>H$G$-$J$$$N$G!"(Bpublic$B$K$7$^$7$?!#(B
> S2Container$BB&$N(BNamingConventionImpl$B$rJQ99D:$1$J$$$G$7$g$&$+!#(B
>
> [$BA0(B] protected static interface *
> [$B8e(B] public static interface *
> [$BA0(B] protected $B%3%s%9%H%i%/%?(B
> [$B8e(B] public $B%3%s%9%H%i%/%?(B
>
> [$B=$@58e%=!<%9(B] org.seasar.framework.convention.impl.NamingConventionImpl 910$B9TL\0J9_(B
> /**
> * $BB8:_%A%'%C%+$N%$%s%?!<%U%'!<%9$G$9!#(B
> *
> */
> public static interface ExistChecker {
> /**
> * $B%/%i%9$,B8:_$9$k$+$I$&$+$rJV$7$^$9!#(B
> *
> * @param lastClassName
> * @return $B%/%i%9$,B8:_$9$k$+$I$&$+(B
> */
> boolean isExist(String lastClassName);
>
> /**
> * $B%j%=!<%9$r3+J|$7$^$9!#(B
> */
> void close();
> }
>
> /**
> * $B%U%!%$%kMQ$NB8:_%A%'%C%+$G$9!#(B
> *
> */
> public static class FileExistChecker implements ExistChecker {
> private File rootFile;
>
> /**
> * $B%$%s%9%?%s%9$r:[E-MAIL ADDRESS DELETED]$7$^$9!#(B
> *
> * @param rootUrl
> * $B%k!<%H(BURL
> */
> public FileExistChecker(final URL rootUrl) {
> rootFile = URLUtil.toFile(rootUrl);
> }
>
> public boolean isExist(final String lastClassName) {
> final File file = new File(rootFile,
> getPathName(lastClassName));
> return file.exists();
> }
>
> public void close() {
> }
> }
>
> /**
> * jar$BMQ$NB8:_%A%'%C%+$G$9!#(B
> *
> */
> public static class JarExistChecker implements ExistChecker {
> private JarFile jarFile;
>
> private String rootPath;
>
> /**
> * $B%$%s%9%?%s%9$r:[E-MAIL ADDRESS DELETED]$7$^$9!#(B
> *
> * @param jarUrl
> * jar URL
> * @param rootPackageName
> * $B%k!<%H%Q%C%1!<%8L>(B
> */
> public JarExistChecker(final URL jarUrl, final String
> rootPackageName) {
> jarFile = JarFileUtil.toJarFile(jarUrl);
> this.rootPath = rootPackageName.replace('.', '/') + "/";
> }
>
> public boolean isExist(final String lastClassName) {
> return jarFile.getEntry(rootPath + getPathName(lastClassName))
> != null;
> }
>
> public void close() {
> JarFileUtil.close(jarFile);
> }
> }
>
> /**
> * zip$BMQ$NB8:_%A%'%C%+$G$9!#(B
> *
> */
> public static class ZipExistChecker implements ExistChecker {
> private ZipFile zipFile;
>
> private String rootPath;
>
> /**
> * $B%$%s%9%?%s%9$r:[E-MAIL ADDRESS DELETED]$7$^$9!#(B
> *
> * @param zipUrl
> * zip URL
> * @param rootPackageName
> * $B%k!<%H%Q%C%1!<%8L>(B
> */
> public ZipExistChecker(final URL zipUrl, final String
> rootPackageName) {
> zipFile = ZipFileUtil.toZipFile(zipUrl);
> this.rootPath = rootPackageName.replace('.', '/') + "/";
> }
>
> public boolean isExist(final String lastClassName) {
> return zipFile.getEntry(rootPath + getPathName(lastClassName))
> != null;
> }
>
> public void close() {
> ZipFileUtil.close(zipFile);
> }
> }
>
> /**
> * OC4J$BMQ$NB8:_%A%'%C%+$G$9!#(B
> *
> */
> public static class CodeSourceExistChecker implements ExistChecker {
> private JarFile jarFile;
>
> private String rootPath;
>
> /**
> * $B%$%s%9%?%s%9$r:[E-MAIL ADDRESS DELETED]$7$^$9!#(B
> *
> * @param url
> * URL
> * @param rootPackageName
> * $B%k!<%H%Q%C%1!<%8L>(B
> */
> public CodeSourceExistChecker(final URL url,
> final String rootPackageName) {
> final URL jarUrl = URLUtil.create("jar:file:" + url.getPath());
> jarFile = JarFileUtil.toJarFile(jarUrl);
> this.rootPath = rootPackageName.replace('.', '/') + "/";
> }
>
> public boolean isExist(final String lastClassName) {
> return jarFile.getEntry(rootPath + getPathName(lastClassName))
> != null;
> }
>
> public void close() {
> JarFileUtil.close(jarFile);
> }
> }
> [$B=$@58e%=!<%9(B]$B$3$3$^$G(B
>
>
> $B!d(BEnv
> $B!d(B $B"*(B $B%U%!%$%k$N<hF@$,(BRCP$B4D6-$G$O$&$^$/$$$+$J$$$N$,LdBj$G$9$M!#(B
> $B!d(B S2Container$BB&$G$N=$@5J}K!$r9M$($^$9!#(B
> S2Container$BB&$N(B
> Env#setFile $B$N(BEcepction$B$r(BRuntimeEception$B$KJQ99D:$1$J$$$G$7$g$&$+!#(B
> [$BA0(B] FileNotFoundException
> [$B8e(B] ResourceNotFoundRuntimeException
>
> [$B=$@58e%=!<%9(B] org.seasar.framework.env.Env
> /**
> * $B4D6-L>@_Dj%U%!%$%k$[E-MAIL ADDRESS DELETED]$7$^$9!#(B
> *
> * @param fileObj
> * $[E-MAIL ADDRESS DELETED]%U%!%$%k$rI=$9(B {@link File} $B%*%V%8%'%/%H(B
> * @throws EmptyRuntimeException
> * <code>fileObj</code>$B$,(B<code>null</code>$B$N>l9g$K%9%m!<$5$l$^$9(B
> * @throws ResourceNotFoundRuntimeException
> * <code>fileObj</code>$B$N<($9%U%!%$%k$,B8:_$7$J$$>l9g$K%9%m!<$5$l$^$9(B
> */
> public static void setFile(final File fileObj) {
> if (fileObj == null) {
> throw new EmptyRuntimeException("fileObj");
> }
> if (!fileObj.exists()) {
> throw new ResourceNotFoundRuntimeException(fileObj
> .getAbsolutePath());
> }
> Env.filePath = fileObj.getAbsolutePath();
> file = fileObj;
> calcValue();
> }
> [$B=$@58e%=!<%9(B]$B$3$3$^$G(B
>
> $B0J>e$G$9!#(B
----------------------------------------------
$B>.?9(B $BM52p(B / Yusuke Komori
E-Mail : [E-MAIL ADDRESS DELETED]
Blog : http://d.hatena.ne.jp/y-komori/
URL : http://www.littleforest.jp/
uruma-dev メーリングリストの案内