我很难弄清楚如何构建我系统的最后一块.目前我正在运行一个Tomcat服务器,它有一个响应客户端请求的servlet.每个请求反过来将一个处理消息添加到异步队列(我可能会通过Spring或更可能是Amazon SQS使用JMS).
事件的顺序是这样的:
发送方:
1.获取客户端请求
2.使用唯一ID将一些数据添加到与此请求相关的数据库中
3.将表示此请求的消息对象添加到消息队列
接收方:
1.从队列中提取新的消息对象
2.打开对象并根据msg对象中包含的信息从网站获取一些信息.
3.发送电子邮件警报
4.更新我的数据库行(相同的唯一ID)以及为此请求完成操作的信息.
我正在努力弄清楚如何妥善处理接收方.一方面,我可以创建一个简单的java程序,我从命令行启动它,选择队列中的每个项目并处理它.这样安全吗?让该程序作为Tomcat容器中的另一个线程运行更有意义吗?我不想连续地这样做,这意味着接收端应该能够一次处理多个对象 - 使用多个线程.我想让它一直24小时都在运行.
建立接收方有哪些选择?