Không có lý do gì để chạy một chuỗi để tạo một người tiêu dùng JMS và thiết lập trình nghe tin nhắn của nó. Toàn bộ điểm của trình nghe tin nhắn JMS là nhận tin nhắn không đồng bộ (chức năng mà bạn dường như đang cố gắng sao chép vì lý do nào đó).
Bạn chỉ cần tạo người tiêu dùng JMS và đặt trình nghe tin nhắn và sau đó đảm bảo người tiêu dùng không bị đóng. Tùy thuộc vào cách ứng dụng được viết, đôi khi cần phải có while
vòng lặp để đảm bảo chương trình không kết thúc và do đó đóng người tiêu dùng. Chủ đề của bạn không làm điều đó. Nó cho phép người tiêu dùng rơi ra khỏi phạm vi sau khi đợi tin nhắn trong 5 giây, có nghĩa là nó sẽ được thu thập rác và tôi mong đợi đối với hầu hết các triển khai JMS, điều đó có nghĩa là nó sẽ bị đóng. Tuy nhiên, nó có thể tồi tệ hơn thế. Bằng cách không đóng cửa người tiêu dùng một cách rõ ràng và chỉ để nó nằm ngoài phạm vi, bạn có thể làm rò rỉ người tiêu dùng, điều này cuối cùng sẽ làm sa lầy nhà môi giới tin nhắn của bạn. Đây không chỉ là cách lập trình cẩu thả mà còn có khả năng gây ra vấn đề cho những người dùng khác đang cố sử dụng thư.