spring - JobLaunchingGateway thread safety -


i trying use spring integration spring batch.i transforming message message joblaunchrequest

public class filemessagetojobrequest { private job job; private string fileparametername;  public void setfileparametername(string fileparametername) {     this.fileparametername = fileparametername; }  public void setjob(job job) {     this.job = job; }  public joblaunchrequest torequest(message<file> message) throws ioexception {     jobparametersbuilder jobparametersbuilder = new jobparametersbuilder();     string filename = message.getpayload().getname();            string currentdatetime = localdatetime.now().tostring();     logger.info("currentdatetime"+currentdatetime);     jobparametersbuilder.addstring(this.filename, filename);     jobparametersbuilder.addstring(this.currentdatetime, currentdatetime);     return new joblaunchrequest(job,   jobparametersbuilder.tojobparameters()); } } 

here integration flow

return integrationflows.                     from(files.inboundadapter(new file("landing"))                                     .preventduplicates()                                        .patternfilter("*.txt")                                     , e -> e.poller(pollers.fixeddelay(2500)                                                        .maxmessagesperpoll(15)                                         .taskexecutor(getfileprocessexecutor())))                     .transform(filemessagetojobrequest)                     .handle(joblaunchinggw(joblauncher)).get();   @bean public messagehandler joblaunchinggw(joblauncher joblauncher) {     return new joblaunchinggateway(joblauncher); } 

for reason 1 of files of 2 print same time not getting processed if 2 files print same currentdatetime.the files come @ same time.i using threadpooltaskexecutor corepool size,max pool size ,queue capacity 15

string currentdatetime = localdatetime.now().tostring(); 

the file not getting processed.i assuming kind of race condition.i tried synchronized on joblaunchrequest.is race condition?why message drop?

i using spring integration 4.2.6 latest versions(almost) of spring.

my reference config question java dsl config


Comments