title: Spring Boot and long running tasks
body: <p>In my Spring Boot application I have to implement an import service. Users can  submit a bunch of JSON files and application will try to import the data from these files. Depending on the data amount at JSON files the single import process can take a 1 or 2 hours.</p>
  
  <p>I do not want to block the users during the import process so I plan to accept the task for importing and notify user that this data is scheduled for processing. I'll put the data into the queue and a free queue-consumer on the other end will start the import process. Also, I need to have a possibility to monitor a jobs in the queue, terminate them if needed.</p>
  
  <p>Right now I'm thinking to use Embedded <code>Apache ActiveMQ</code> in order to introduce message producer and consumer logic but before this I'd like to ask - from the architecture point of view  - is it a good choice for the described task or it can be implemented with a more appropriate tools.. like for example plain Spring <code>@Async</code> and so on ?</p>