我想设计一个可以处理大量消息的简单应用程序(没有 j2ee 和 jms)(比如在交易系统中)
我创建了一个服务,可以接收消息并将它们放入队列中,以便系统在过载时不会卡住。
然后我创建了一个包装队列的服务(QueueService),并有一个从队列中弹出消息的pop方法,如果没有消息返回null,则将此方法标记为“已同步”以进行下一步。
我创建了一个知道如何处理消息的类(MessageHandler)和另一个可以“侦听”新线程中的消息的类(MessageListener)。该线程有一个“while(true)”,并且一直试图弹出一条消息。
如果返回了一条消息,线程调用 MessageHandler 类,完成后,他会请求另一条消息。
现在,我已将应用程序配置为打开 10 个 MessageListener 以允许多消息处理。
我现在有 10 个线程一直处于循环状态。
这样的设计好吗??
任何人都可以参考一些书籍或网站如何处理这种情况吗?
谢谢,罗尼