Java - javamail y tomcat

 
Vista:

javamail y tomcat

Publicado por Edu (2 intervenciones) el 24/11/2006 13:02:19
ola a todos,
he creado una aplicacion q manda correos con javamail con SMTP y tomcat.
Los correos llegan sin ningun problema.
El problema esta cuando varias peticiones de correo se solicitan por usuarios a la vez (o casi a la vez, un par de segundos), Los correos llegan al ultimo de los usuarios q hicieron la peticion y los otros no reciben nada.
No se si sera por un problema del codigo o del tomcat q se lia, xq como ya he dixo cuando entre peticion y peticion hay unos segundos, los correos llegan bien.
Este es el codigo:

// Get system properties
Properties props = System.getProperties();

// Setup mail server
props.put("mail.smtp.host", host);

// Get session
Session session = Session.getInstance(props, null);

// Define message
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to));
message.setSubject("Pedido para Suscripciones");

// Create the message part
BodyPart messageBodyPart = new MimeBodyPart();

// Fill the message
messageBodyPart.setText("Se adjunta un fichero con el justificante del pedido.");

// Create a Multipart
Multipart multipart = new MimeMultipart();

// Add part one
multipart.addBodyPart(messageBodyPart);

//
// Part two is attachment
//

// Create second body part
messageBodyPart = new MimeBodyPart();

// Get the attachment
javax.activation.DataSource source = new javax.activation.FileDataSource(filename);

// Set the data handler to the attachment
messageBodyPart.setDataHandler(new DataHandler(source));

// Set the filename
messageBodyPart.setFileName(filename);

// Add part two
multipart.addBodyPart(messageBodyPart);

// Put parts in message
message.setContent(multipart);

// Send the message
Transport.send(message);

Si alguien me pudiera aconsejar algo u optomizar esto se lo agradeceria, GRACIAS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:javamail y tomcat

Publicado por Consultoriajava.com (59 intervenciones) el 24/11/2006 15:25:10
parece el tipico problema de accesos concurrentes, deberias controlar que se crean objetos diferentes para enviar los emails a los destinatarios, si este codigo lo tienes en un metodo estatico por ejemplo, entonces los problemas de concurrencia son seguros.

Una posibilidad rapida sería sincronizar tu metodo con la palabra resevrada synchronized, pero esto actuará como un cuello de botella y podría ralentizar tu aplicacion hasta bloquearla si el numero de usuarios simultaneos aumenta.

Respuesta proporcionada por expertos en java de http://www.consultoriajava.com, visita nuestros videos en http://www.youtube.com/profile_videos?user=consultoriajava
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar