当前位置: 首页 > 知识库问答 >
问题:

如何在两个客户端之间使用消息驱动bean

萧琛
2023-03-14

一般来说,我对EJB和JavaEE都是新手,目前我正在做一个小项目,它基本上实现了一个游戏,两个玩家PlayerA和PlayerB可以通过web浏览器玩。

我目前有一个设置为几个JSP页面像这样:登录-

玩家A和B有两个登录页面,它们链接到同一个playerprofile页面,显示所选玩家的用户名和分数,信息存储在数据库中。在该个人资料页面中,玩家可以点击将他们发送到acceptGame页面的链接,在该页面中,玩家必须点击accept按钮,如果两个玩家都接受了,他们可以继续玩游戏。在这种情况下,使用消息bean是有意义的,因为一个玩家可能已经接受,而另一个玩家没有,所以接受的玩家应该等待另一个玩家接受。

不幸的是,我在网上遇到的每个message Bean教程都只是传递一些TextMessage对象,然后在服务器上打印出来,但没有类似的例子。

共有1个答案

尉迟兴修
2023-03-14

当您作为调用者不想等待处理结果时,消息驱动bean用于处理异步调用。在您的情况下,我认为使用消息驱动bean不是最佳选择。

你也可以用它来实现你的逻辑:playerA接受游戏报价,服务器向MDB发送消息,playerA进入等待状态,MDB存储playerA接受游戏报价,playerB也接受游戏报价,等等。,当他们都处于等待状态,并且都确定另一方存储了接受,他们就开始玩游戏。

这对我来说似乎太复杂了,消息驱动bean并没有以任何方式改进这个过程。我认为同样的结果可以用有状态的bean更舒服地完成,因为MDB只能从技术角度消除等待时间(例如,我想发送一封电子邮件,但只要它被发送,我不在乎它实际上是什么时候发送的),但从业务角度来看却不行。如果你的业务逻辑要求你等待,那么你就必须等待。

 类似资料:
  • 我可以从客户端向服务器发送消息,也可以从服务器向客户端发送回复。 我很想知道如何在两个客户端之间显式地交换消息,这与聊天室不同,聊天室中所有消息都广播给所有客户端,我想将消息发送给单个目标客户端。

  • 我试图使用Netty构建一个简单的TCP客户端-服务器应用程序。开始时,我通过SocketChannel从客户端发送消息,方式如下: 所有的消息都被服务器收到了,但是当我想把响应写回客户端时,我发现为了得到客户端的响应,它需要通过引导程序发送消息,并定义将读取响应的Inoundhandler(也许有人知道另一种方法?)当我试图通过引导程序发送消息时,我使用以下代码: 但是通过这种方式,服务器根本没

  • 我有这样一个想法,我需要通过直接电话连接客户A(正在招聘)和客户B(即将招聘),只需按下一个按钮,客户B(即将招聘)不希望任何人只需要访问他的个人电话号码(以避免垃圾电话)。 好吧,为了完成这项工作,我发现Twilio可以处理我使用ASP. NET Core实现的可编程语音通话,但这并不完全是我想要的,因为客户A(正在招聘)不允许直接与客户B(谁将被雇用)交谈而TwiML正在工作。 使用Twili

  • 一周前,我开始建立一个WooCommerce商店,它应该可以选择在两个客户之间共享订单。这是我为您制作的一个小图表,您可以理解它应该是什么样子(请看一看): 这就是我一步一步做的 用户B单击一个按钮- 用户B单击另一个按钮- 这两个步骤(显示和隐藏用户B的订单)工作正常——我已经测试过了。字段设置和取消设置。 现在情况越来越糟: 我已经搜索了很多,并要求一些人找到WooCommerce中的功能,该

  • 我正在通过在WebSocketClientFlow上遵循doc来尝试客户端websocket。

  • 问题内容: 我从socket.io + node.js开始,我知道如何在本地发送消息和广播功能:-所有连接的客户端都收到相同的消息。 现在,我想知道如何向特定的客户端发送私人消息,我的意思是一个套接字,用于2个人之间的私人聊天(客户端到客户端流)。谢谢。 问题答案: 当用户连接时,它应使用唯一的用户名(例如电子邮件)向服务器发送消息。 一对用户名和套接字应存储在这样的对象中: 在客户端上,使用以下