EJB学习笔记(4)

EJB学习笔记——会话Bean 1.EJB3简介:EJB是企业级java bean(Enterprise Java Bean)开发技术,是基于IIOP协议的分布式远程方法调用技术(RMI),EJB3在JavaEE5中被正式引入,去掉了EJB2以前的复制度,使得EJB3更加轻量级,同时将实体Bean单独分拆成为JPA规范,从而使EJB3更加专注于会话Bean和消息驱动Bean的业务逻辑,同时EJB3中全面支持java注解方式,大大简化开发的难度提高开发效率。2.在客户端调用一个简单EJB3程序:首先使用一个简单例子演示客户端调用EJB3的基 阅读详情
     工作的事情终于基本上定下来了,这里先把ejb学习笔记的最后一个部分,关于Message Driven Bean的内容补上(其实是早就看完了,只不过工作不定下来,没心情写blog)。之后我会写一些非技术blog包括这次的找工作经历,心得,以及一些影评。
      在说mdb之前先要谈到jms(java message system)因为这个才是最原始的需求。顾名思义,jms其实就是提供消息服务的一组api接口,于是自然而然的想到了RMI-IIOP,因为RMI-IIOP是现在java远程通信的一个最常用的方式,既然已经有了RMI-IIOP,为什么还要有jms呢?
      RMI-IIOP在实际的企业级应用中,有许多问题是不能解决的,比如,在服务器完成对rmi的请求之前会一支处于阻塞状态,另外如果服务器瘫痪了,客户再也找不到请求了等等。
      显而易见的,要解决这些问题必须有一个中间服务器来专门调度,处理,存储消息,这就是jms服务器他本质上也是一种中间件服务。
      再jms的消息处理机制中有两种消息处理类型,我们称之为消息域(message domain),一种domain叫做发布/订阅(pub/sub)模式,另一种时点对点模式(PTP)。对于前者多个消息生产者同事对多个消息消费者交互有点类似于网络的多播概念。而对于后者多个生产者能同时把消息发送到一个队列种,但是每个消息只能被消费者消费一次!
      事实上再ejb种,mdb(message driven bean)就是负责处理来自jms的消息的!当然了ejb2.0后的mdb补仅仅能够接受jms消息。mdb和其他两种bean不同,没有home接口,本地home接口,远程接口和本地接口。它是无状态的,也不会返回异常给用户,因为有了jms就存在异步交互过程,所以客户那里不可能等待是否有异常抛出。
      当然了,由消息传递本身会引发出袭夺问题,这就是基于jms的mdb的陷阱,比如有坏消息的概念,何为坏消息?如果mdb未确认消息已经消费,jms会不断向目的地发消息。这种情况很容易发生,再cmt(container management transaction)的情况下,消息的消耗和确认属于事物范围内,若事物有错,会一支回滚,也就一支没确认消费消息,这样jms就会一直发送消息。
      另外由于ejb规范里没有定义mdb要返回给客户返回值,所以我们也可以采取一些变通的方法来给客户传送一些回应,比如回应也当作一个jms。
       当然了,具体的关于mdb的经验还是要在不断的项目中学习到的!
       这篇是ejb的最后一篇学习笔记 mastering ejb这本书的第三部分,涉及到的诸如事物和负载均衡的一些列高级主题,我现在阅读也没意义,应为这些只有在真正的项目种才能完全领悟!
 
EJB体系结构之EJB容器 EJB容器 EJB容器(中间件)在EJB服务器环境中进行,EJB容器为EJB构件提供操作环境。        主要来说,EJB容器管理一下的系统级问题:      持久性(Persistence)      生命周期管理(Life Cycle Management)      安全性(Security)      事务管理(Transaction Management 阅读详情

相关推荐

Eclipse开发EJB3

开发工具App Server Sun glassfish v3DB Mysql 5.1IDE eclipse 3.4 for Java EE + glassfish server adapter目的演示如何编写一个简单的EJB3.0 + JPA 1.0的应用准备工作1. 创建Mysql数据库>mysql -uroot -prootmysql>create database test;mysql>use test;mysql>CREATE TABLE PLAYER ( id INT N

mirandama的专栏 5136

EJB学习笔记-4-web应用访问EJB(remote)

首先将ejb的接口文件jar包导入web项目下的lib目录中 如下是jsp文件编码: <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %

ManfredShuai的博客 626

手把手教你用OpenCV+Python实现HALCON级模板匹配(附工业案例代码)

本文详细介绍了如何利用开源计算机视觉库OpenCV和Python,构建媲美HALCON商业软件的工业级模板匹配解决方案。通过分析工业检测的核心挑战,文章提供了从模板预处理、多策略融合匹配到应对尺度与旋转的完整代码实现,并附有连接器引脚检测的实战案例,为工业自动化场景下的高精度视觉检测提供了低成本、高可控性的技术路径。

e3f4g5的博客 286

ejb3学习笔记4

1数据源: 详细定义     &lt;jndi-name&gt;MSSQLDS&lt;/jndi-name&gt;    &lt;connection-url&gt;jdbc:sqlserver://localhost:1433;DatabaseName=EJB&lt;/connection-url&gt;    &lt;driver-class&gt;com.microsoft.sqlserv...

caowenkuns的专栏 132

NPP/VIIRS夜间灯光数据:从下载到应用的完整指南

本文提供了NPP/VIIRS夜间灯光数据从下载、处理到应用的完整实战指南。详细介绍了如何从官方源获取数据、解读文件结构、进行坐标校正与数据清洗,并深入探讨了其在城市扩张监测、社会经济指标估算、重大事件影响评估等领域的核心应用。文章旨在帮助研究者与从业者快速掌握这一强大的空间数据,将其转化为研究中的实用工具。

gpu4optimizer的博客 870

无人机蜂群联合指挥作战技术详解

随着人工智能、通信技术、新材料等领域的不断进步,无人机蜂群联合指挥作战技术将迎来更加广阔的发展前景。未来,无人机蜂群将更加智能化、自主化,能够执行更加复杂、精细的作战任务。同时,加强国际合作,共同制定国际规则和标准,将是推动无人机蜂群技术健康发展的重要方向。无人机蜂群技术,是指通过先进的通信技术、自主导航与决策算法,将大量小型、低成本、功能各异的无人机组织成一个高度协同的群体,执行复杂多样的军事任务。2. 通信与数据链:采用高速、低延迟、抗干扰的通信技术,保障群体内无人机间的信息交换。

专注多旋翼、复合翼无人机技术研究,从事低空经济行业。 1546

JavaEE5学习笔记07-Web层与EJB集成总结(4):Struts2与EJB集成

 Struts2+EJB+JBoss的集成Demo 因为Struts2仅仅是一个MVC框架,在JavaEE企业级开发中不像JavaEE标准那么吃香,很多东西得自己来做。这就是为什么很多EJB项目的Web前端都是JSF或者直接就是JSP+Servlet,而不是Struts2了。 新建一个Struts2的项目,之后先看Action代码 package action;   import ...

suhuanzheng7784877的专栏 177

arduino esp8266_Arduino传感器教程 第22章ESP8266 控制 5V 继电器

ESP8266控制5V继电器目录一、NodeMCU二、工作原理本文将使用亚马逊 AlexaEcho 和 ESP8266 控制 5V 继电器。NodeMCUNodeMCU 是一个开源的 IoT 物联网硬件开发板,由于它支持 WIFI 功能且使用方法十分类似 Arduino 开发板,所以近些年获得了越来越多来自全世界的创客朋友们的青睐。NodeMCU 尺寸与 Arduino Nano 类似。...

weixin_39611722的博客 3458

什么是EJB?EJB详解

EJB到底是什么? 我们不禁要问,什么是"服务集群"?什么是"企业级开发"? 既然说了EJB 是为了"服务集群"和"企业级开发",那么,总得说说什么是所谓的"服务集群"和"企业级开发"吧!这个问题其实挺关键的,因为J2EE 中并没有说明白,也没有具体的指标或者事例告诉广大程序员什么时候用EJB 什么时候不用。于是大家都产生一些联想,认为EJB"分布式运算"指得是"负载均衡"提高系统的运行效率。然而,估计很多人都搞错了,这个"服务群集"和"分布式运算"并没有根本解决运行负载的问题,尤其是针对数据库的应用系

soulofball的博客 1万+

技能伤害继承英雄属性【War3地图编辑器】

风暴之锤跟随山丘之王的力量增长

ArYe 2312

7、布尔网络的基础定义

本文介绍了布尔网络的基础定义及其在系统生物学中的应用。布尔网络是一种描述复杂系统动态行为的数学模型,由布尔变量和布尔函数组成,能够模拟生物系统中基因调控、信号传导和细胞代谢等过程。文章详细阐述了布尔网络的基本结构、动力学特征(如状态转移图和吸引子),以及其在生物建模中的重要价值,并探讨了优化和简化技术(如Backward Boolean Equivalence)如何提升其计算效率。

yhn45678901的博客 268

Weblogic EJB 学习笔记

EJB 学习笔记1、ejb 基础知识(1) 无状态会话bean    不保存客户机的会话状态    优点:使用小量的实例即可满足大量的客户。每个实例都没有标识,相互之间是等价的。    等?的无状态会话bean:  多次和一次调用的结果和效应相同。        在集群中可以负载均衡 a 机器失败,可以在b机器上重试    非等?的无状态会话bean: 如:计数器        不能自动因故障而进

xlh日记本 1563

[Dify实战] 多轮对话状态管理:上下文保持与槽位填充

本文探讨了基于LLM的对话应用中多轮对话状态管理的核心挑战与解决方案。文章指出,单纯的"能聊"远远不够,关键在于建立有效的状态管理机制,包括上下文保持和槽位填充两大核心能力。通过Dify实战视角,详细阐述了如何设计工程化落地方案:采用混合策略的上下文管理(窗口+摘要+关键槽位)、JSON Schema强约束的槽位抽取、统一状态对象存储、冲突处理机制和优化追问策略。文章特别强调,合理的状态管理能将"聊天"转化为"可执行的业务流程",避免模型成为&qu

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 242

EJB学习笔记

J2EE1 J2ee概述 J2ee是企业级的计算平台,它为分布式和基于组件的软件开发提供了一个“操作系统” Ant是什么工具?? EJB:什么是EJB?是一种服务器端组件结构,简化了开发分布式企业级程序的过程类比:应用服务器是一个CD播放器,而组件是一张cd,因为有了cd标准,任何cd播放器都能播放cdEJB分为两个部分:1、  规范列出了组件与应用服务器之间相互约定的规则2、  一组java接口

Macroyan的专栏 1859

AI应用架构师收藏:大规模AI系统AIOps智能运维的4个落地案例

本文精选互联网、金融、制造、电信四大行业的大规模AI系统AIOps落地案例,覆盖云原生AI平台、风控AI系统、工业AI质检、5G网络AI优化等典型场景。行业背景与系统规模:业务目标、AI系统架构、运维挑战;AIOps解决方案设计:数据采集层→分析层→决策层的全栈架构,技术栈选型与理由;核心技术实现细节:异常检测算法、根因分析模型、自动化恢复流程(含Python代码示例);实施效果与经验总结:关键指标对比、踩坑教训、架构师视角的最佳实践。

AI天才研究院 859

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

EJB工作原理学习笔记!

EJB工作原理学习笔记1 RMI工作原理2 websphere实现3 weblogic实现4 理解体会1:RMI工作原理首先说说RMI的工作原理,因为EJB毕竟是基于RMI的嘛。废话就不多讲了,RMI的本质就是实现在不同JVM之间的调用它的实现方法就是在两个JVM中各开一个Stub和Skeleton,二者通过socket通信来实现参数和返回值的传递。 有关RMI的例子代码网上可以找

李晓辉的Blog 1845

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Windows下的J2EE1.4的EJB部属

Windows下的J2EE1.4的EJB部属首先启动J2EE服务器启动成功后就可以按提示关闭此窗口,接着在IE浏览器下输入http://localhost:8080看到默认的主页信息,这就表示服务器正常工作。    准备好Ejb 的java源文件,进行编译    Hello.javapackage mine.hello;    import javax.ejb.*;    public inter

sunuy的专栏 619

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

EJB3,我们究竟得到了什么 (4)

玩花样从四人帮整理的设计花式开始,花式被认为是一种可重复利用的,由经验得来的比较好解决常见问题的方法。J2EE应用的花式很多,也因为它麻烦最多,在各个层上都有,其作用也五花八门,清晰化构架,提高系统性能等等,但它们基本不是去解决某个特定逻辑问题,而是带着强烈的结构花式的味道。Sun推荐的Core J2EE Pattern套路成了一个花式系统,这些花式的产生,基于某些特定的原则和考虑,而一些原则和考

信华的专栏 2011

EJB基础三 有状态EJB

有状态EJB其实是类似于CDI中的依赖作用域。就是你需要一个有状态EJB的时候,就会新建一个有状态EJB。因为根据需求创建的,所以每个请求都有一个,这样才可以保存状态,故成为有状态EJB。 无状态EJB在wildfly中默认最大20个,假如有100个请求,那么这20个无状态EJB只能被共享。共享了又怎么能保存客户端的状态呢?购物车就是个明显的有状态EJB,将购物车它放到session里,这样保证

ilovewqf的博客 5万+

jboss4中手动部署EJB

 环境:jboss4.0.2+ejb2.0+j2sdk5.0+xpsp2一、目录结构与打包jbossEJB(文件夹)---------------||--ejb组件(文件夹)|   ||   |--META-INF(文件夹)|   |     |--ejb-jar.xml|   |     |--jboss.xml|   ||   |--ejbs(文件夹)|   |     |--Ha

泉山林海 773

关于EJB,为什么用EJB?为什么不用EJB?

EJB

学习编程,热爱编程 1万+

[转载]WebSphere 4.0 中的 EJB 元数据: 第 2 部分:关联

WebSphere 4.0 中的 EJB 元数据: 第 2 部分:关联简介 我的上篇文章描述了在 WebSphere® Application Server 高级版 4.0 中,如何将容器管理的持久性(CMp)EJ...

congji3817的博客 264

基于weblogic 的ejb 学习笔记(二)

基于weblogic 的ejb 学习笔记(二)编辑实体bean的高级课程1. 怎样开发主健类ejb的主健类主要用做持久存储和ejb容器中的唯一标识符.通常主健类的字段直接映射到数据库中的主健字段.如果主健只是由单个实体bean字段组成.且其数据类型是基本的java类.如string,则bean作者不必开发自定义的主健类.只需要在配置描述器中指定类的名字和主健字段即可如果把主健映射到一个用户定义的类

xlh日记本 1058

抛弃EJB(EJB2.0,EJB3.0,EJB4.0)

[b]关键词:EJB,JEEE,Spring,OO,需求至上,J2EE Without EJB[/b] 作为一个EJB的使用者,也是受害者,对EJB虽然谈不上深恶痛绝,但也达到了敬而远之的地步。必须要强调的是EJB不是J2EE,它只是J2EE很小的一部分,EJB既不是完美的也不是必须的。 我非常反对在项目中使用EJB,它给项目带来的复杂性甚至超过了项目本身。曾有人说过:你要么把事情做的尽可...

来杯咖啡,随便聊聊。 1173

【进阶EJB】问你EJB知多少?

EJB近几年好像不太常用了,但是作为SUN公司重点推荐的一种规范,其强大之处还不被很多人熟知。接下来一系列关于EJB的博文就将一一揭开EJB的神秘面纱,今天我们就先来宏观看一下就是什么是EJB呢?

不忘初心 1649
上一篇: EJB学习笔记(3)
下一篇: 经历了两个月应聘生活后的总结和心得
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值