[Seasar-user:4446] Re: S2StrusのClassFinderImpl#findについて

齋藤 宗範 [E-MAIL ADDRESS DELETED]
2006年 8月 30日 (水) 17:33:45 JST


永島様

お世話になっております。
齋藤です。

ClassFinderImpl#findの対応確認いたしました。
ただし、
org.seasar.struts.config.rule.ZeroConfigActionRuleImpl#getExistFilePathで
同様にServletContext.getRealPath(path)を使用しているため
nullPointerExceptionで異常終了してしまいました。

同様に後対応可能でしょうか?

java.lang.NullPointerException
        at java.io.File.<init>(File.java:194)
        at
org.seasar.struts.config.rule.ZeroConfigActionRuleImpl.getExistFilePath(Zero
ConfigActionRuleImpl.java:175)
        at
org.seasar.struts.config.rule.ZeroConfigActionRuleImpl.addFowardConfig(ZeroC
onfigActionRuleImpl.java:155)
        at
org.seasar.struts.config.AutoActionRegister.registerFowardConfigs(AutoAction
Register.java:132)
        at
org.seasar.struts.config.AutoActionRegister.registerActionConfig(AutoActionR
egister.java:88)
        Truncated. see log file for complete stacktrace>
javax.servlet.UnavailableException
        at
org.apache.struts.action.ActionServlet.initModulePlugIns(ActionServlet.java:
880)
        at
org.apache.struts.action.ActionServlet.init(ActionServlet.java:336)
        at
org.seasar.struts.servlet.S2ActionServlet.init(S2ActionServlet.java:61)
        at javax.servlet.GenericServlet.init(GenericServlet.java:256)
        at
weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecur
ityHelper.java:276)
        at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubjec
t.java:321)
        at
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
        at
weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelpe
r.java:68)
        at
weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycl
eHelper.java:58)
        at
weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.jav
a:48)
        at
weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.jav
a:504)
        at
weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletC
ontext.java:1698)
        at
weblogic.servlet.internal.WebAppServletContext.loadServletsOnStartup(WebAppS
ervletContext.java:1675)
        at
weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServle
tContext.java:1595)
        at
weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.ja
va:2734)
        at
weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:892)
        at
weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:336)
        at
weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDrive
r.java:204)
        at
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.j
ava:26)
        at
weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver
.java:60)
        at
weblogic.application.internal.flow.ScopedModuleDriver.start(ScopedModuleDriv
er.java:200)
        at
weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListene
rInvoker.java:117)
        at
weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDrive
r.java:204)
        at
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.j
ava:26)
        at
weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver
.java:60)
        at
weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlo
w.java:26)
        at
weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:641)
        at
weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.j
ava:26)
        at
weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:22
9)
        at
weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStat
eChecker.java:154)
        at
weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContai
nerInvoker.java:80)
        at
weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(
AbstractOperation.java:565)

お忙しい中恐縮ですが、
ご回答よろしくお願いいたします。

齋藤

>
> > ServletContext#getResource()ではないですが、
> > S2のComponentAutoRegisterのようにReferenceClassを指定し、
> > クラスを読み込む読み込む機能を追加し、以下にコミットしました。
> >
> > https://www.seasar.org/svn/s2struts/branches/s2struts-1.2.3-branch/
> >
> > AutoStrutsConfigRegisterPlugInでreferenceClassを指定すれば利用できます。
> > <plug-in
> > className="org.seasar.struts.plugin.AutoStrutsConfigRegisterPlugIn">
> >             :
> >     <set-property property="referenceClass"
> >             value="org.seasar.struts.examples.FowardNameConstants"/>
> >             :
> > </plug-in>
> >
> > 次回(1.2.6)リリース時に反映されます。
> >
> > よろしくお願いします。
> >
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://www.seasar.org/mailman/listinfo/seasar-user




Seasar-user メーリングリストの案内