Как создать несколько экземпляров объекта с помощью Spring IOC при запуске приложения - PullRequest
0 голосов
/ 26 октября 2018

У меня ниже есть класс Listener. Моё приложение - приложение с весенней загрузкой. Я создаю его в своем классе конфигурации. Но я хочу, чтобы 100 экземпляров должны были быть созданы при запуске приложения и когда приложение останавливается, все объекты экземпляров должны быть закрыты. Это так же, как то, что мы сделали в пуле соединений. Кто-нибудь может предложить лучший способ достичь этого? Ниже приведены мой класс слушателя и фрагмент кода, используемый в моем классе конфигурации для создания экземпляра класса Listener.

@EnableRabbit
public class SubscriberGeneralQueue1 {

     /*@Autowired
        @Qualifier("asyncGeneralRabbitTemplate")
    private AsyncRabbitTemplate asyncGeneralRabbitTemplate;*/

    @Autowired
    private ExecutorService executorService;
    @Autowired
    private GeneralProcess generalProcess;



    List <RequestPojo> requestPojoGeneral = new ArrayList<RequestPojo>();

    @RabbitHandler
    @Async
    @RabbitListener(containerFactory = "simpleMessageListenerContainerFactory", queues ="BulkSolve_GeneralrequestQueue")
    public void subscribeToRequestQueue(@Payload RequestPojo sampleRequestMessage, Message message) throws InterruptedException {

        long startTime=System.currentTimeMillis();


        //requestPojoGeneral.add(sampleRequestMessage);
        //System.out.println("List size issssss:" +requestPojoGeneral.size() );
        //generalProcess.processRequestObjectslist(requestPojoGeneral);
        generalProcess.processRequestObjects(sampleRequestMessage);

        System.out.println("message in general listener is:" + sampleRequestMessage.getDistance());
        System.out.println("Message payload is:" + sampleRequestMessage);
        System.out.println("Message payload1111 is:" + message );

        //return requestPojoGeneral;

    }


}

Я создаю экземпляр вышеупомянутого класса в своем классе конфигурации

@Bean
    @Scope("prototype")
    public SubscriberGeneralQueue1 SubscriberGeneralQueue1(){
        return new SubscriberGeneralQueue1();
    }

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...