синхронизированный метод или использовать пружину @transactional?

У меня есть метод, который будет использоваться для отправки электронной почты. я хочу заблокировать этот метод, чтобы только один поток мог его использовать одновременно, а остальной пул одновременно. я должен синхронизировать метод или использовать пружину @transactional PROPAGATION_REQUIRED?

в моем слое обслуживания
 //each time use new thread to send out email
  public  void sendThroughSMTP(List emails,String subject,String content){

            //each time will open and sent through port 25.  dont u think this will caused too many threads spawned?
            BlastEmailThread blastEmailThread = new BlastEmailThread(emails,subject,content);

            blastEmailThread.start();


}

Ответы на вопрос(6)

Ваш ответ на вопрос