[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 メーリングリストの案内