[uruma-dev:175] Re: S2規約とColddeploy対応
KOMORI Yusuke
[E-MAIL ADDRESS DELETED]
2008年 4月 5日 (土) 05:41:26 JST
$B?y>e$5$s(B
$B!!>.?9$G$9!#(B
$B!!CY$/$J$C$F$9$_$^$;$s!#(B
> seasar$B$N(Benv.txt$B$N07$$$O!"(Benv.txt$B$,B8:_$7$J$$>l9g(B
> $B%G%U%)%k%H!J(BPRODCT$B!K$,E,MQ$5$l=hM}$r7QB3$7$^$9!#(B
> Uruma$B$G$b>e5-;EMM$rF'=1$9$k$H!"0J2<$N$H$*$j!#(B
> $B!J!!(Burl$BJQ?t(B $B$,(Bnull$B$G$J$1$l$P(Benv.txt$B$OB8:_$9$k$3$H$K$J$j$^$9!!!K(B
> URL url = RcpResourceUtil
> .getLocalResourceUrlNoException(Env.DEFAULT_FILE_PATH);
> if (url != null) {
> try {
> Env.setFile(URLUtil.toFile(url));
> } catch (FileNotFoundException ignore) {
> }
> }
>
> $BBP1~0F(B
> $B!!-!>e5-$N$H$*$j(BFileNotFoundException$B$r(Bignore$B$9$k!#(B
> $B!!-"(BFileNotFoundException$B$N(BRuntimeException$B$N%5%V%/%i%9$r:n$j(BEnv$B$+$i(Bthrow$B$9$k!#(B
>
> $B-!$G$h$$$+$H!#!0!0(B
$B!!$O$$!"-!$G$h$$$H;W$$$^$9!#(B
$B!!@5<0$K$O-"$[E-MAIL ADDRESS DELETED]$+$b$7$l$^$;$s$,!":#2s$N2~=$$O$[$H$s$I(B
Uruma$B$G$7$+;H$o$J$$$H;W$$$^$9$N$G!"$3$l$G$h$$$+$H!#(B
$B!!$"$H!"(BNamingConventionImpl $B$NJ}$O=$@5$7<!Bh!"$^$?O"Mm$7$^(B
$B$9!#(B
$B!!$G$O!#(B
On Thu, 3 Apr 2008 11:32:13 +0900, "$B?y>eMNJ?(B" <[E-MAIL ADDRESS DELETED]> wrote:
> $B>.?9$5$s(B
>
> $B?y>e$G$9!#(B
>
> >$B"#(BNamingConventionImpl
> > protected $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$7$l$^$;$s!#(B
>
> $B3N$+$K!"<BAu%/%i%9$N$?$a30=P$7$N8DJL%/%i%9$K$7$?$[$&$,(B
> $B$h$5$=$&$G$9$M!#(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(BFileNotFoundException$B$r(B
> > $B!!%9%m!<$9$Y$-$H9M$($F$$$^$9!#(B
>
> $BN;2r$G$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
> $BFq$7$/$J$$$G$9!#(B
> $B$?$@!"(BException$B$r0.$j$D$V$9$N$G(Bcatch$B$7$?$/$J$$$J$!$H;W$$$^$7$F!#(B
>
> seasar$B$N(Benv.txt$B$N07$$$O!"(Benv.txt$B$,B8:_$7$J$$>l9g(B
> $B%G%U%)%k%H!J(BPRODCT$B!K$,E,MQ$5$l=hM}$r7QB3$7$^$9!#(B
> Uruma$B$G$b>e5-;EMM$rF'=1$9$k$H!"0J2<$N$H$*$j!#(B
> $B!J!!(Burl$BJQ?t(B $B$,(Bnull$B$G$J$1$l$P(Benv.txt$B$OB8:_$9$k$3$H$K$J$j$^$9!!!K(B
> URL url = RcpResourceUtil
> .getLocalResourceUrlNoException(Env.DEFAULT_FILE_PATH);
> if (url != null) {
> try {
> Env.setFile(URLUtil.toFile(url));
> } catch (FileNotFoundException ignore) {
> }
> }
>
> $BBP1~0F(B
> $B!!-!>e5-$N$H$*$j(BFileNotFoundException$B$r(Bignore$B$9$k!#(B
> $B!!-"(BFileNotFoundException$B$N(BRuntimeException$B$N%5%V%/%i%9$r:n$j(BEnv$B$+$i(Bthrow$B$9$k!#(B
>
> $B-!$G$h$$$+$H!#!0!0(B
>
> $B0J>e$G$9!#(B
>
> 08/04/02 $B$K(B KOMORI Yusuke <[E-MAIL ADDRESS DELETED]> $B$5$s$O=q$-$^$7$?(B:
> > $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
> > protected $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 mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/uruma-dev
> >
> >
----------------------------------------------
$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 メーリングリストの案内