Oh what a bugger, I see these two options are available in 1.2, but the
javadocs on the website are out of date (they don't show these two options).
And yep, that's what I needed to fix the problem. I'll put in a patch
suggestion to set these to default values out of the box. We definitely
shouldn't have to think at this level with a wrapper API expected to be used
in server apps.

Thanks much!
David


-----Original Message-----
From: Siegfried Goeschl [mailto:[email protected]] 
Sent: Saturday, August 21, 2010 12:05 AM
To: Commons Users List
Subject: Re: [Email] Email send hangs thread indefinitely on intermittent
failure

Hi David,

don't know if you have set any timeouts for your tests such as

+) Email.MAIL_SMTP_CONNECTIONTIMEOUT
+) Email.MAIL_SMTP_TIMEOUT
+) Email.setSocketConnectionTimeout()
+) Email.setSocketTimeout()

The first two go into the email session for (javax.mail) while the two
others are set directly on Email - see
http://java.sun.com/products/javamail/javadocs/com/sun/mail/smtp/package-sum
mary.html

Cheers,

Siegfried Goeschl

PS: Agreed on the fact the you should not hang indefinitely with a default
configuration



On 21.08.10 05:23, David Parks wrote:
> I set up a simple test to send 50 emails through google app's SMTP server
> with a short delay between them (just testing to see what I'm allowed to
> do).
>
> I set this up by opening 50 threads and pausing at different intervals for
> each thread.
>
> I notice that I sometimes end up with a thread that hangs indefinitely on
a
> connection that seems to be hung, but never times out (see the thread dump
> below for one such case, it's been left hung for>  10 min now):
>
> Any thoughts on this? Kind of scares me to think what might happen to a
> server posting emails in the background. I would expect network timeouts
to
> all be handled at least with a default value by a simplifying wrapper
class
> such as this is. Or am I missing some logic here maybe?
>
> Thanks,
> David
>
>
> Thread [Thread-23] (Suspended)        
>       SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int)
> line: not available [native method]   
>       SocketInputStream.read(byte[], int, int) line: not available    
>       InputRecord.readFully(InputStream, byte[], int, int) line: not
> available     
>       InputRecord.read(InputStream, OutputStream) line: not available 
>       SSLSocketImpl.readRecord(InputRecord, boolean) line: not available
>
>       SSLSocketImpl.readDataRecord(InputRecord) line: not available   
>       AppInputStream.read(byte[], int, int) line: not available       
>       TraceInputStream.read(byte[], int, int) line: 106       
>       BufferedInputStream.fill() line: not available  
>       BufferedInputStream.read() line: not available  
>       LineInputStream.readLine() line: 84     
>       SMTPTransport.readServerResponse() line: 1903   
>       SMTPTransport.issueSendCommand(String, int) line: 1808  
>       SMTPTransport.finishData() line: 1634   
>       SMTPTransport.sendMessage(Message, Address[]) line: 889 
>       Transport.send0(Message, Address[]) line: 191   
>       Transport.send(Message) line: 120       
>       HtmlEmail(Email).sendMimeMessage() line: 1232   
>       HtmlEmail(Email).send() line: 1267      
>       GoogleAppsEmailTest.sendEmail(int) line: 51     
>       GoogleAppsEmailTest$1.run() line: 17    
>       Thread.run() line: not available        
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to