Jam*_*mes 8 java jms glassfish java-ee ejb-3.0
我试图了解我的Java EE应用程序应该放在哪些应用程序逻辑中.我是Java EE的新手,我正在考虑从遗留数据库加载大量非结构化数据,并构建一个干净的对象模型供我的应用程序使用.根据我的调查,我看到Java EE应用程序有两个组件,Enterprise Bean和Web Application组件.我的应用程序的这一部分将负责加载数据,构建对象模型以及根据数据的当前状态通过JMS向感兴趣的各方发送消息.数据将通过与数据库同步以及通过JMS从远程Java应用程序接收的消息进行更新.
EJB是否是这种功能的正确位置?如何开始我的对象模型的初始化(主要方法Java App等价物)?创建定时事件以查看对象模型并通过JMS发送消息的最佳实践是什么?
我已经阅读了很多关于Java EE,Glassfish,EJB的文章......但仍然觉得我没有清楚地了解我应该在哪里编写这个功能.我见过的EJB的任何例子都倾向于围绕来自客户端应用程序的bean的直接方法调用.
目前我觉得Java应用程序可以完成这项工作,但我们正在考虑将来使用RMI和Web客户端.
Java EE传统上用于客户端/服务器架构风格.业务逻辑在EJB会话bean中实现,通常通过Web请求,JMS消息或RMI-IIOP远程调用来调用.
EJB是否是这种功能的正确位置?
逻辑进入EJB.但是有不同类型的EJB.
如何开始我的对象模型的初始化(主要方法Java App等价物)?
没有main方法这样的东西.但仍有一些方法可以执行与应用程序部署和/或取消部署相对应的某些处理.您可以查看ServletContextListener,Glassfish生命周期模块(非标准)或者新引入的Singleton bean和@Startup注释.
创建定时事件以查看对象模型并通过JMS发送消息的最佳实践是什么?
您可以创建将定期调用的EJB计时器.如果你需要在内存中加载一次模型,我建议你也看一下Singleton bean.使用EJB 3.0,问题是如何自动启动计时器,但我认为它们在EJB 3.1中得到了改进,并且当使用注释部署应用程序时,应用程序服务器可以自动启动计时器@Scheduled.因此,它可能会以某种方式为您提供您在上一个问题中提出的所需起点.
您可以从任何bean发送JMS消息.JMS就像数据库一样是一个外部系统.使用称为消息驱动bean(MDB)的特殊EJB接收JMS消息.
您的应用程序将不是传统的Web-EJB数据库客户端 - 服务器应用程序,但它应该是可行的Java EE,它绝对是一个非常灵活的模型.
| 归档时间: |
|
| 查看次数: |
859 次 |
| 最近记录: |