消息驱动bean到底怎么用?

iwantescape 2015-01-08 11:16:56
“当一个业务执行的时间很长,而执行结果无需实时向用户反馈时,很适合使用消息驱动Bean。如订单成功后给用户发送一封电子邮件或发送一条短信等。”

如果我有一个执行业务长的,只能电子邮件或短信吗?
一般情况servlet查询数据库 查出来图表显示

如果我现在查数据库或计算的时间很长 查完了想在图形显示不就显示不了了?消息驱动Bean只是一个远程bean实例,只能执行一些java方法,比如服务器控制台打印。服务器上的bean要让客户机上的tomcat显示一个图表?好像没办法吧?即使要在客户端 的tomcat控制台打印一个字符串,客户机(本地机器)还要装个jboss,写个消息去驱动bean,两边相互传消息,像socket一样。

是不是这样做?假设两台机器 一台A 一台B,A上装tomcat和jboss, B上装jboss, 客户通过A要查看一个图表,然后A调用B上的session bean的方法,然后这个seesion bean又去发消息给A上的消息驱动bean,然后消息驱动bean,。。。问题来了 ,消息驱动bean顶多写数据库吧,也不能跳到页面上啊,本来想在页面上发一个站内信,可是session bean怎么和tomcat联系?写数据库session bean写就好了,不用把消息发到A上来吧?发消息不就是为了让客户看到那个图表吗?

消息驱动bean到底怎么用?
...全文
370 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
iwantescape 2015-02-24
  • 打赏
  • 举报
回复
引用 4 楼 losebaby 的回复:
你还是不理解同步和异步的差别。 举个简单的例子:你寄信后啥都不能做,只能干等收信人的回复,这个是同步; 而你信寄出后,做别的事。等到你接到收信人回信通知了,再去看回信信息,这个是异步; 在上面的例子里,寄信和回信都是MessageBean要执行的。至于需不需要回复消息(回信),这个就要看业务逻辑(两人间是否需要保持信息交互)了,与消息机制无直接关系。
就是说 MessageBean只是一个异步的机制。可是如果业务上要交互,那客户端上也要安一个应用服务器jboss,不然怎么发消息? 就是互通消息的两边都要安装jboss吗?
killxj2shit 2015-02-06
  • 打赏
  • 举报
回复
引用 1 楼 rumlee 的回复:
说的什么玩意,乱七八糟的。 你的这些理解说明你对分布式应用的开发和部署还不太了解,你的理解目前还只是在单机桌面程序或者单机部署的企业应用上。在一些大型分布式应用上的时候你就明白消息驱动bean可以做一些什么用了。
其实我是想问,这边消息发过去了,那边的需要再发消息过来吗?怎么发?
可乐罐 2015-02-06
  • 打赏
  • 举报
回复
你还是不理解同步和异步的差别。 举个简单的例子:你寄信后啥都不能做,只能干等收信人的回复,这个是同步; 而你信寄出后,做别的事。等到你接到收信人回信通知了,再去看回信信息,这个是异步; 在上面的例子里,寄信和回信都是MessageBean要执行的。至于需不需要回复消息(回信),这个就要看业务逻辑(两人间是否需要保持信息交互)了,与消息机制无直接关系。
  • 打赏
  • 举报
回复
消息驱动 Bean 是 EJB 中的概念,也就是说这个 Bean 是由 JEE 容器自动调用消息队列服务器的,而不需要开发者去关心。 如果没有 EJB 容器,那使用标准的 JMS 规范 API 也可以实现消息队列的操作。
rumlee 2015-01-10
  • 打赏
  • 举报
回复
说的什么玩意,乱七八糟的。 你的这些理解说明你对分布式应用的开发和部署还不太了解,你的理解目前还只是在单机桌面程序或者单机部署的企业应用上。在一些大型分布式应用上的时候你就明白消息驱动bean可以做一些什么用了。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧