[Seasar-user:5483] Re: [ESSR0046] コンポーネントが見つかりませんというエラーに関して

Katsuhiko Nagashima [E-MAIL ADDRESS DELETED]
2006年 12月 14日 (木) 23:21:22 JST


永島です。

FileSystemComponentAutoRegisterでもダメでしたか。。。
記述されている設定内容に問題点はないように思います。
[Seasar-user:4445]と同じ現象なのでしょうかね。。。

> 自動登録を使用する際に何か注意点でもありますでしょうか?

特に聞いたことはありません。。。役に立たなくすみません。m(_ _)m

app.diconとComponentAutoRegisterを定義しているdiconファイル内容を
もう少し記載していただければ、役に立てるかもしれません。

あとS2Containerのコンポーネント登録内容を確認してはどうでしょうか。
確認するためにはS2を2.3.13以降にアップして
web.xmlのS2ContainerServletのところでdebugパラメータをtrueと指定し、
----
  <servlet>
    <servlet-name>s2container</servlet-name>
    <servlet-class>org.seasar.framework.container.servlet.S2ContainerServlet
</servlet-class>
    <init-param>
      <param-name>debug</param-name>
      <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
    :
  <servlet-mapping>
    <servlet-name>s2container</servlet-name>
    <url-pattern>/s2container</url-pattern>
  </servlet-mapping>
----

下記URL(xxxはWebアプリケーションのコンテキスト名)を指定すれば、
登録されているコンポーネントを確認できると思います。
http://localhost:8080/xxx/s2container?command=list

以上です。

06/12/14 に [E-MAIL ADDRESS DELETED] <[E-MAIL ADDRESS DELETED]>
さんは書きました:
>
>
> 浜田です。
>
> 永島さん、ご回答ありがとうございます。
>
> 下記のような設定を行って試してみたのですが、同様のエラーが発生しました。
>
>
> -----------------------------------------------------------------------------
>
> ■addReferenceClassを追記した設定内容
>
>   <component
>     class="
> org.seasar.framework.container.autoregister.ComponentAutoRegister">
>     <property name="instanceDef">
>       @[E-MAIL ADDRESS DELETED]
>     </property>
>     <property name="autoNaming">
>       <component class="
> org.seasar.framework.container.autoregister.DefaultAutoNaming"/>
>     </property>
>     <initMethod name="addReferenceClass">
>       <arg>@
> [E-MAIL ADDRESS DELETED]
> </arg>
>     </initMethod>
>     <initMethod name="addClassPattern">
>       <arg>"jp.co.itfrontier.wms.apl.sales.receive.action.impl"</arg>
>       <arg>".*ActionImpl"</arg>
>     </initMethod>
>   </component>
>
>
> -----------------------------------------------------------------------------
>
> また、試しにFileSystemComponentAutoRegisterでも同じ結果でした。
>
> 下記のように個別設定で行うと問題なく動作します。
>
>
> -----------------------------------------------------------------------------
>
> ■個別設定内容
>
>   <component name="sv0101d01Action" instance="request"
>              class="
> jp.co.itfrontier.wms.apl.sales.receive.action.impl.Sv0101d01ActionImpl">
>     <aspect>wmsfw.actionInterceptorChain</aspect>
>   </component>
>   <component name="sv0101d02Action" instance="request"
>              class="
> jp.co.itfrontier.wms.apl.sales.receive.action.impl.Sv0101d02ActionImpl">
>     <aspect>wmsfw.actionInterceptorChain</aspect>
>   </component>
>
>
> -----------------------------------------------------------------------------
>
> 自動登録を使用する際に何か注意点でもありますでしょうか?
> 以上、宜しくお願い致します。
>
> 浜田
>
>
>
>
>  *"Katsuhiko Nagashima" <[E-MAIL ADDRESS DELETED]>*
> 送信者: [E-MAIL ADDRESS DELETED]
>
> 2006/12/13 21:52  [E-MAIL ADDRESS DELETED]> 返信してください
>
>   宛先
> [E-MAIL ADDRESS DELETED]  cc
>
>  件名
> [Seasar-user:5451] Re:        [ESSR0046] コンポーネントが見つかりませんというエラーに関して
>
>
>
>
>
>
> 永島です。
>
> ComponentAutoRegisterの設定でaddReferenceClassメソッドを使って
> 登録するクラスの基点(ディレクトリにあるのかjarにあるのかを判断するためのクラス)
> を指定していないためだと思います。
>
> http://s2container.seasar.org/ja/DIContainer.html#ComponentAutoRegister
>> https://www.seasar.org/svn/s2struts/branches/s2struts-example-1.2.3-branch/WEB-INF/src/org/seasar/struts/examples/dicon/employee.dicon
>
> を参考にして、addReferenceClassを指定して試してください。
>
>
> 06/12/13 に [E-MAIL ADDRESS DELETED]<[E-MAIL ADDRESS DELETED]
> >
> さんは書きました:
> >
> > 浜田と申します。
> >
> > 現在、S2Struts(Seasar2.3.11)を使って検証を行っております。
> >
> > ComponentAutoRegisterにより、コンポーネントを自動登録しているのですが、
> > JSPからアクションが実行される際に下記のようなエラーが発生してアプリケーション
> > が動作しません。
> >
> >
> ---------------------------------------------------------------------------------------
> > 2006-12-13 15:29:45,484 [http-8085-Processor23] ERROR
> > org.apache.struts.action.RequestProcessor - パス /sv0101d01
> > に対するアクションのインスタンスがありません
> > org.seasar.framework.container.ComponentNotFoundRuntimeException:
> > [ESSR0046]コンポーネント(interface
> > jp.co.itfrontier.wms.apl.sales.receive.action.Sv0101d01Action)が見つかりません
> >         at
> >
> org.seasar.framework.container.impl.S2ContainerBehavior$DefaultProvider.acquireFromGetComponentDef
> (S2ContainerBehavior.java:94)
> >         at
> >
> org.seasar.framework.container.impl.S2ContainerBehavior$DefaultProvider.acquireFromGetComponent
> (S2ContainerBehavior.java:87)
> >         at
> >
> org.seasar.framework.container.impl.S2ContainerBehavior.acquireFromGetComponent
> (S2ContainerBehavior.java:43)
> >         at
> > org.seasar.framework.container.impl.S2ContainerImpl.getComponent(
> S2ContainerImpl.java:123)
> >         at
> > org.seasar.struts.action.ActionFactoryImpl.getActionInstance(
> ActionFactoryImpl.java:97)
> >         at
> > org.seasar.struts.processor.S2RequestProcessor.getActionInstance(
> S2RequestProcessor.java:171)
> >         at
> > org.seasar.struts.processor.AcceptorImpl.process(AcceptorImpl.java:117)
> >         at
> > org.seasar.struts.processor.S2RequestProcessor.process(
> S2RequestProcessor.java:61)
> >         at
> > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
> >         at
> > org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
> >         at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
> >         at
> > javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> >         at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:252)
> >         at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:173)
> >         at
> > jp.co.itfrontier.wms.fw.msg.MsgServletFilter.doFilter(
> MsgServletFilter.java:53)
> >         at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:202)
> >         at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:173)
> >         at
> > org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java
> :62)
> >         at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:202)
> >         at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:173)
> >         at
> > org.seasar.struts.filter.S2StrutsFilter.doFilter(S2StrutsFilter.java:42)
> >         at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:202)
> >         at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:173)
> >         at
> > org.seasar.framework.container.filter.S2ContainerFilter.doFilter(
> S2ContainerFilter.java:60)
> >         at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
> ApplicationFilterChain.java:202)
> >         at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(
> ApplicationFilterChain.java:173)
> >         at
> > org.apache.catalina.core.StandardWrapperValve.invoke(
> StandardWrapperValve.java:213)
> >         at
> > org.apache.catalina.core.StandardContextValve.invoke(
> StandardContextValve.java:178)
> >         at
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
> :126)
> >         at
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
> :105)
> >         at
> > org.apache.catalina.core.StandardEngineValve.invoke(
> StandardEngineValve.java:107)
> >         at
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
> :148)
> >         at
> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
> :869)
> >         at
> >
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
> (Http11BaseProtocol.java:664)
> >         at
> > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
> PoolTcpEndpoint.java:527)
> >         at
> > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(
> LeaderFollowerWorkerThread.java:80)
> >         at
> > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(
> ThreadPool.java:684)
> >         at java.lang.Thread.run(Unknown Source)
> >
> >
> ------------------------------------------------------------------------------------------
> >
> > diconファイルの設定は下記になります。
> >
> >
> ------------------------------------------------------------------------------------------
> >   <component
> >
> > class="org.seasar.framework.container.autoregister.ComponentAutoRegister
> ">
> >     <property name="instanceDef">
> >
> > @[E-MAIL ADDRESS DELETED]
> >     </property>
> >     <property name="autoNaming">
> >       <component
> > class="org.seasar.framework.container.autoregister.DefaultAutoNaming"/>
> >     </property>
> >     <initMethod name="addClassPattern">
> >
> > <arg>"jp.co.itfrontier.wms.apl.sales.receive.action.impl"</arg>
> >       <arg>".*ActionImpl"</arg>
> >     </initMethod>
> >   </component>
> >
> >   <component
> > class="org.seasar.framework.container.autoregister.AspectAutoRegister">
> >     <property name="interceptor">wmsfw.actionInterceptorChain</property>
> >     <initMethod name="addClassPattern">
> >
> > <arg>"jp.co.itfrontier.wms.apl.sales.receive.action.impl"</arg>
> >       <arg>".*ActionImpl"</arg>
> >     </initMethod>
> >   </component>
> >
> ------------------------------------------------------------------------------------------
> >
> > 設定に問題はないと思うのですが、できれば何かアドバイスをお願い致します。
> >
> > 浜田
> >
> >
> >
> >
> >
> >
> >
> >
> > _______________________________________________
> > Seasar-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-user
> >
> >
> >
>
>
> --
> Katsuhiko Nagashima
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
>
>


-- 
Katsuhiko Nagashima
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: http://ml.seasar.org/archives/seasar-user/attachments/20061214/8b6f52c7/attachment.html 


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