[uruma-dev:170] Re: S2規約とColddeploy対応
杉上洋平
[E-MAIL ADDRESS DELETED]
2008年 4月 2日 (水) 17:33:04 JST
$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
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: http://ml.seasar.org/archives/uruma-dev/attachments/20080402/e9a44c7e/attachment-0001.html
uruma-dev メーリングリストの案内