Tôi đang nghiên cứu xem Javamail có an toàn theo chủ đề hay không, đặc biệt trong một tình huống có nhiều phiên tương ứng với người dùng khác nhau, một số máy chủ SMTP và sử dụng tạo tin nhắn MIME và sử dụng phương thức transport.sendMessage
. Tôi biết Javamail được định hướng theo hướng sử dụng máy tính để bàn khiến tôi nghi ngờ rằng nó có thể không được xây dựng với luồng trong tâm trí, và tôi tự hỏi nếu có ai có kinh nghiệm như vậy.An toàn trong Javamail
Trả lời
Phải thừa nhận rằng các quy tắc an toàn của luồng cho JavaMail không được ghi lại đầy đủ, nhưng hy vọng chúng chủ yếu phù hợp với những gì bạn mong đợi.
Nhiều chủ đề có thể sử dụng Phiên.
Vì Transport vận hành kết nối đến máy chủ thư và chỉ một luồng duy nhất có thể sử dụng kết nối cùng lúc, Transport sẽ đồng bộ hóa truy cập từ nhiều luồng để duy trì an toàn luồng, nhưng bạn thực sự chỉ muốn sử dụng nó từ một sợi đơn.
Tương tự, một Cửa hàng có thể được sử dụng bởi nhiều luồng, nhưng truy cập vào kết nối cơ bản sẽ được đồng bộ hóa và đơn luồng.
Mỗi lần chỉ nên sửa đổi một chuỗi, nhưng nhiều chuỗi sẽ có thể đọc thư một cách an toàn (mặc dù không rõ vì sao bạn muốn làm điều đó).
Hy vọng rằng sẽ giúp ...
Chủ đề điều phối javamail dường như không hết thời gian chờ nếu máy chủ không phản hồi kịp thời. điều này dẫn đến khóa trên tất cả các chủ đề có sẵn.
Đã kiểm tra hành vi này với cả 1.4.3 & 1.4.5.
- 1. An toàn loại an toàn()
- 2. Mã an toàn và không an toàn
- 3. Biến an toàn phiên PHP an toàn như thế nào?
- 4. Mảng an toàn không có khóa an toàn
- 5. Cách thực hiện thanh toán an toàn 3d an toàn
- 6. Sự khác nhau giữa đề an toàn và an toàn
- 7. IFRAME an toàn được lồng trên trang không an toàn
- 8. Cơ chế an toàn không an toàn Arduino
- 9. Chuỗi an toàn của Netty Channel.write có an toàn không?
- 10. Trộn các kênh an toàn & không an toàn
- 11. cookie an toàn asp.net
- 12. Thực hiện HTML5/Javascript Trong An iFrame An toàn
- 13. Đăng nhập an toàn
- 14. ActiveScaffold thread-an toàn
- 15. Lệnh an toàn
- 16. Loại in an toàn
- 17. an toàn thread unordered_map
- 18. An toàn của log4net
- 19. Ký DSA an toàn
- 20. Các URL được chỉ định an toàn trong AWS S3 an toàn như thế nào?
- 21. Loại an toàn trong .net là gì?
- 22. Các đốm màu an toàn trong Azure
- 23. Muỗng không an toàn trong Haskell?
- 24. Chủ đề an toàn trong F #
- 25. an toàn Chủ đề trong C mảng #
- 26. Xóa an toàn tệp trong C# .NET
- 27. MongoDB/Java: Gõ an toàn trong DBObjects
- 28. Trong Delphi, ThreadDebugString có an toàn không?
- 29. an toàn ajax trong trò chơi javascript
- 30. Vùng mã không an toàn trong TypeScript
Bạn có học được điều này từ nguồn javadoc, từ nguồn kinh nghiệm không? – ewernli
Tôi đã viết nhiều mã và tôi duy trì tất cả. –
Kudo! Vì không có tài liệu tham khảo nào ủng hộ các giải thích của bạn, tôi đã tự hỏi làm thế nào bạn có thể quyết đoán như vậy. Bây giờ tôi hiểu;) Rõ ràng, +1! – ewernli