title: Proper way to start new thread from service layer using spring
body: <p>I have a method that will be rarely called. This method collect garbage in db. I don't want to make user to wait for server response so i decided to call this method from new thread from my service layer. i'm using Spring.
  Service class:</p>
  
  <pre><code>@Service
  @Transactional
  public class UploadService {
  
      @Resource(name = "UploadDAO")
      private UploadDao uploadDao;
  </code></pre>
  
  <p>Method that i don't want to wait for</p>
  
  <pre><code>public void collectBlobGarbage(){
          Thread th = new Thread(new Runnable() {
              @Override
              public void run() {
                  uploadDao.collectBlobGarbage();
              }
          });
          th.start();
      }
  </code></pre>
  
  <p>Is it a good way to do like this? </p>