2

サーブレットのアプリケーション コンテキスト XML ファイル ( /app/feature) を持っています。Web アプリケーション全体 (つまり、サーブレット コンテキスト/app) のアプリケーション コンテキストもあり、他の XML ファイルを含む複数のサーブレットがあります。の春の文脈を理解して/appいます/app/feature

<task:annotation-driven/>@Async および @Scheduled アノテーションについてチェックされる Bean を子アプリケーション コンテキストに入れると、

4

3 に答える 3

1

そのtask:annotation-drivenようなレジスター BeanPostProcessors はScheduledAnnotationBeanPostProcessor、コンテナーごとにスコープされます。

...beans that are defined in one container are not post-processed by 
a BeanPostProcessor defined in another container, even if both containers 
are part of the same hierarchy.
于 2013-03-25T21:43:54.337 に答える
0

内部ロジックは次のようになります。たとえば、applicationContext.xmlis you said parent file and spring-servlet.xmlis you said child file. 次に、Tomcat が起動すると、最初に applicationContext.xml のすべての Bean がインスタンス化され、次に spring-servlet.xml のすべての Bean がインスタンス化されます。次に、Bean A が applicationContext.xml と spring の両方で構成されている場合、何かが発生します。 -servlet.xml の場合、A の最初のインスタンスは 2 番目のインスタンスによってオーバーライドされます。<task:annotation-driven/>そのため、 inを追加するとapplicationContext.xml、Spring-servlet.xml でインスタンス化された Bean によって Bean 全体がオーバーライドされているため、機能しません。

于 2013-03-26T00:13:52.100 に答える
0

@Async を探します。@Scheduled を使用すると、5000 ミリ秒ごとに実行をスケジュールすることができます。

于 2016-07-08T10:54:19.637 に答える