java mail Store.connect挂起-不';t超时
我正在使用普通的java邮件(mail-1.4.1.jar-JVM 1.6.0_03-b05)连接到IMAP存储:java mail Store.connect挂起-不';t超时,java,imap,jakarta-mail,Java,Imap,Jakarta Mail,我正在使用普通的java邮件(mail-1.4.1.jar-JVM 1.6.0_03-b05)连接到IMAP存储: Session mailSession = Session.getInstance(new Properties(), null); Store store = mailSession.getStore("imap"); store.connect(host, user, pwd); // Hangs here folder = store.getFolder("INBOX");
Session mailSession = Session.getInstance(new Properties(), null);
Store store = mailSession.getStore("imap");
store.connect(host, user, pwd); // Hangs here
folder = store.getFolder("INBOX");
folder.open(Folder.READ_WRITE);
...
问题是,线程偶尔会在store.connect
上运行,并且永远不会返回
"MyThread" daemon prio=10 tid=0x0a9c3000 nid=0x2095 runnable [0x9ccd3000..0x9ccd4130]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at com.sun.mail.util.TraceInputStream.read(TraceInputStream.java:110)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
- locked <0xc09003e8> (a java.io.BufferedInputStream)
at com.sun.mail.iap.ResponseInputStream.readResponse(ResponseInputStream.java:97)
at com.sun.mail.iap.Response.<init>(Response.java:96)
at com.sun.mail.imap.protocol.IMAPResponse.<init>(IMAPResponse.java:61)
at com.sun.mail.imap.protocol.IMAPResponse.readResponse(IMAPResponse.java:135)
at com.sun.mail.imap.protocol.IMAPProtocol.readResponse(IMAPProtocol.java:261)
at com.sun.mail.iap.Protocol.<init>(Protocol.java:114)
at com.sun.mail.imap.protocol.IMAPProtocol.<init>(IMAPProtocol.java:104)
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:538)
- locked <0xc04c73d0> (a com.sun.mail.imap.IMAPStore)
at javax.mail.Service.connect(Service.java:288)
- locked <0xc04c73d0> (a com.sun.mail.imap.IMAPStore)
at javax.mail.Service.connect(Service.java:169)
at package.MyClass.checkInbox(MyClass.java:116)
“MyThread”守护程序prio=10 tid=0x0a9c3000 nid=0x2095可运行[0x9ccd3000..0x9ccd4130]
java.lang.Thread.State:可运行
位于java.net.SocketInputStream.socketRead0(本机方法)
位于java.net.SocketInputStream.read(SocketInputStream.java:129)
位于com.sun.mail.util.TraceInputStream.read(TraceInputStream.java:110)
在java.io.BufferedInputStream.fill处(BufferedInputStream.java:218)
在java.io.BufferedInputStream.read处(BufferedInputStream.java:237)
-锁定(java.io.BufferedInputStream)
位于com.sun.mail.iap.ResponseInputStream.readResponse(ResponseInputStream.java:97)
位于com.sun.mail.iap.Response(Response.java:96)
在com.sun.mail.imap.protocol.imapreponse上。(imapreponse.java:61)
在com.sun.mail.imap.protocol.IMAPResponse.readResponse(IMAPResponse.java:135)上
com.sun.mail.imap.protocol.IMAPProtocol.readResponse(IMAPProtocol.java:261)
在com.sun.mail.iap.Protocol.(Protocol.java:114)
在com.sun.mail.imap.protocol.IMAPProtocol.(IMAPProtocol.java:104)
在com.sun.mail.imap.IMAPStore.protocolConnect上(IMAPStore.java:538)
-已锁定(com.sun.mail.imap.IMAPStore)
在javax.mail.Service.connect(Service.java:288)
-已锁定(com.sun.mail.imap.IMAPStore)
在javax.mail.Service.connect(Service.java:169)
位于package.MyClass.checkInbox(MyClass.java:116)
中没有提到超时设置,我在会话
或存储
上都找不到任何合适的“setter”方法
欢迎您提出任何建议。有关可以设置为控制超时的属性,请参阅javadocs。哦,您可能想升级到最新版本的JavaMail。您设置了什么超时参数来解决问题?