У меня есть класс конфигурации, в котором я настроил метод Bean, который возвращает целое число, и я передаю этот экземпляр компонента в конструктор еще двух классов. В первом классе я увеличиваю этот метод bean, хотел получить доступ к увеличенному количеству во втором классе. В первом классе экземпляр компонента (Integer) увеличивается, но не сохраняет это значение во втором классе, где я все еще получаю «0» для этого экземпляра компонента. Как я могу сохранить то же значение для второго класса? Базовая область действия по умолчанию - singleton, поэтому об этом позаботятся. Что-то я не так делаю?
@Configuration
public class LineConfig {
@Bean(name = "getCount")
public Integer getCount()
{
return new Integer(0);
}
//pls ingnore other logic/syntax as I am focussing only on bean method
public Step processinvoicejobStep(String fileName,int chunkSize,String jobString) {
mongoFailedRecordList=new ArrayList<>();
Step step;
step = stepBuilderFactory
.get("processinvoiceErrjob"+"-"+fileName)
.<invoiceWrapper,invoiceWrapper> chunk(chunkSize)
.reader(new invoiceReader(container, azureBlobinvoiceErr,azureBlobinvoiceParsingErr))
**class 1 <----**.writer(new invoiceWriter(mongoConfig.mongoDB().getCollection(collectionName),mongoConfig.mongoDB(),mongoFailedRecordList,fileName,azureBlobinvoiceErr,azureBlobinvoiceErr,objectMapper,enableStats,threadPool,env,container,writeList,**getInsertCount()**))
**class 2 <----** .listener(new WriterListener(mongoFailedRecordList,env,container,fileName,azureBlobinvoiceErr,errorData(),writeList,**getCount()**)).build();
return step;
}
return null;
}