Czystszy sposób na uzyskanie nowego przykładu pola automatycznego, które jest prototypem w przyrodzie

Napotkałem ten problem, próbując automatycznie uruchomić klasę runnable i utworzyć jej różne instancje w różnych wywołaniach i przechowywać je w tablicy.

Konfiguracja XML:

<code><bean name="threadName" Class="ABC" scope="prototype" />
</code>

W moim kodzie próbuję czegoś takiego:

<code>public class ThreadHandler{


@Autowired
private ABC threadName;

//getter
ABC getThreadName(){
     return threadName;
}

public void someFunction(){
     List<ABC> abc = new ArrayList(ABC>();
     for (int i=0;i<SOME_CONST;i++){
          ABC tName = getThreadName();
          abc.add(tName);
          tName.start();
      }
}   
</code>

}

PozwolićABC bądź klasą, która jestThread/Runnable/Callable.

W ten sposób rzucajava.lang.IllegalThreadStateException. Ale działa dobrze, jeśli używamABC tName =appContext.getBean("threadName",ABC.class);

Dlaczego tak się dzieje?

Czy nie dostajemy nowej instancji podczas próby pobrania obiektu z getMethod?

questionAnswers(2)

yourAnswerToTheQuestion