¿Método sincronizado o uso del resorte @transactional?
Tengo un método que se utilizará para enviar correo electrónico. Quiero bloquear este método para que solo un hilo pueda acceder a él por vez y el resto se agrupen simultáneamente. ¿Debo sincronizar el método o usar spring @transactional PROPAGATION_REQUIRED?
en mi capa de servicio //each time use new thread to send out email
public void sendThroughSMTP(List<String> 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();
}