Tại sao các thông số kỹ thuật JMS được thiết kế theo cách để đối tượng phiên không thể được sử dụng bởi các chủ đề đồng thời khi đối tượng kết nối mà từ đó phiên được tạo là luồng an toàn (Được chia sẻ theo luồng)?Tại sao đối tượng phiên JMS không phải là chủ đề an toàn?
Trả lời
Đối tượng phiên JMS thường được sử dụng cho Giao dịch. Và tất cả chúng ta đều biết rằng các giao dịch là một chủ đề cụ thể và không thể mở rộng qua các luồng. Do đó, phiên giao dịch JMS đã giao dịch không thể được sử dụng trên các luồng. Tôi tin rằng vì lý do này, đặc điểm kỹ thuật của JMS cho biết phiên không phải là chủ đề an toàn.
JMS 2.0 Spec
trang 25
Có hai lý do để hạn chế truy cập đồng thời tới phiên.
Trước tiên, phiên là thực thể JMS hỗ trợ giao dịch. Đó là rất khó thực hiện các giao dịch đa luồng.
Thứ hai, phiên hỗ trợ tiêu thụ tin nhắn không đồng bộ. Nó là quan trọng là JMS không yêu cầu mã máy khách được sử dụng cho không đồng bộ mức tiêu thụ thư có thể xử lý nhiều, đồng thời thư.
Bên cạnh đó, nếu một phiên đã được thiết lập với nhiều, người tiêu dùng không đồng bộ, điều quan trọng là khách hàng không được buộc để xử lý các trường hợp những người tiêu dùng riêng biệt đồng thời là thực hiện. Những hạn chế này làm cho JMS dễ sử dụng hơn cho các khách hàng điển hình của . Các khách hàng tinh vi hơn có thể nhận được đồng thời họ mong muốn bằng cách sử dụng nhiều phiên. Trong API cổ điển và các API dành riêng cho miền, điều này có nghĩa là sử dụng nhiều đối tượng phiên. Trong API đơn giản hóa , điều này có nghĩa là sử dụng nhiều đối tượng JMSContext.
- 1. Tại sao chủ đề EJBs an toàn và servlet không?
- 2. Chủ đề JMS QueueSender có an toàn không?
- 3. java.text.SimpleDateFormat không phải là chủ đề an toàn
- 4. Có phải Azure CloudTable là chủ đề an toàn không?
- 5. Tại sao tài liệu OSX atoi/atof không phải là chủ đề an toàn?
- 6. Đối tượng 'an toàn chủ đề' có nghĩa là gì?
- 7. NHibernate an toàn chủ đề với phiên
- 8. NSTimer có phải là chủ đề an toàn không?
- 9. Log4Net FileAppender không phải là chủ đề an toàn?
- 10. MongoCollection.forEach có phải là chủ đề an toàn không?
- 11. Lớp Spring MVC phải là chủ đề an toàn
- 12. Chủ đề giảm/giảm không an toàn - tại sao chủ yếu là tích cực?
- 13. Chủ đề phiên Django có an toàn không?
- 14. Tại sao mã này không phải là chuỗi an toàn?
- 15. An toàn chủ đề của các đối tượng ServletContext
- 16. xuất bản các đối tượng và an toàn chủ đề
- 17. Chủ đề an toàn chủ đề - tĩnh hay không?
- 18. Trình xử lý sự kiện không phải là chủ đề an toàn?
- 19. Chủ đề này có an toàn không?
- 20. Chủ đề NSPersistentStoreCoordinator có an toàn không?
- 21. Swift - có an toàn với chủ đề an toàn không?
- 22. Là int? chủ đề an toàn?
- 23. msdn: "An toàn chủ đề" là gì?
- 24. Các destructor có nên là chủ đề an toàn không?
- 25. Trong SignalR là chủ đề Hub.Context có an toàn không?
- 26. Có phải SecurityContextChủ đề an toàn không?
- 27. Chủ đề Keras có an toàn không?
- 28. .NET có phải là trình duyệt đăng nhập an toàn chủ đề không?
- 29. Có phải chuỗi chủ đề an toàn của HttpSession được đặt/nhận thuộc tính hoạt động an toàn của chủ đề không?
- 30. Chủ đề NSFileManager có an toàn không?
giải thích thú vị +1 –