Browse Source

added warnings regarding accidental usage of @Configurable on a managed bean (SPR-7216)

pull/1234/head
Juergen Hoeller 15 years ago
parent
commit
53ed9b282b
  1. 10
      spring-framework-reference/src/aop.xml
  2. 11
      spring-framework-reference/src/scheduling.xml

10
spring-framework-reference/src/aop.xml

@ -2959,6 +2959,16 @@ public class Account { @@ -2959,6 +2959,16 @@ public class Account {
&lt;/bean&gt;</programlisting>
<note>
<para>Do not activate <interfacename>@Configurable</interfacename>
processing through the bean configurer aspect unless you really
mean to rely on its semantics at runtime. In particular, make sure
that you do not use <interfacename>@Configurable</interfacename>
on bean classes which are registered as regular Spring beans with
the container: You would get double initialization otherwise, once
through the container and once through the aspect.</para>
</note>
<section id="aop-configurable-testing">
<title>Unit testing <interfacename>@Configurable</interfacename>
objects</title>

11
spring-framework-reference/src/scheduling.xml

@ -553,6 +553,17 @@ public void doSomething() { @@ -553,6 +553,17 @@ public void doSomething() {
and must not expect any arguments. If the method needs to interact with
other objects from the Application Context, then those would typically
have been provided through dependency injection.</para>
<note>
<para>Make sure that you are not initializing multiple instances
of the same @Scheduled annotation class at runtime, unless you do
want to schedule callbacks to each such instance. Related to this,
make sure that you do not use @Configurable on bean classes which
are annotated with @Scheduled and registered as regular Spring beans
with the container: You would get double initialization otherwise,
once through the container and once through the @Configurable aspect,
with the consequence of each @Scheduled method being invoked twice.</para>
</note>
</section>
<section id="scheduling-annotation-support-async">

Loading…
Cancel
Save