学习笔记 爱被打了一巴掌 2022-02-16 01:57 395阅读 0赞 ### 测试 ### * ORM * JPA * EJB * JPQL * MOM * JMS # ORM # 对象关系映射 英语:Object Relational Mapping 持久层框架的实现: 1. JPA 2. HIBERNATE 3. IBATIS/MYBATIS # JPA # Java持久层API 英文:Java Persistence API > JPA包括以下3方面的技术: > > * ORM映射元数据 JPA支持XML和JDK5.0注解两种元数据的形式,元数据描述对象和表之间的映射关系,框架据此将实体对象持久化到数据库表中; > * API 用来操作实体对象,执行CRUD操作,框架在后台替代我们完成所有的事情,开发者从繁琐的JDBC和SQL代码中解脱出来。 > * 查询语言 这是持久化操作中很重要的一个方面,通过面向对象而非面向数据库的查询语言查询数据,避免程序的SQL语句紧密耦合。 > JPA 只是一个API,他需要供应商来实现: > > * Hibernate > * Spring > * OpenJPA # EJB # Java 企业Bean 英文:Enterprise JavaBean 核心代码: * Session Bean/会话bean * Entity Bean/实体bean 在EJB3.0推出以后,实体Bean被单独分了出来,形成了新的规范JPA。 * MessageDriven Bean/消息驱动bean # JPQL # Java持久化查询语言 英文:Java Persistence Query Language # MOM # 面向消息的中间件 英文:Message Oriented Middleware > 一个MOM系统的基本元素: > > 1. 客户端 > 客户端发送或接受消息,分为消息生产者和消息消费者 > 2. 消息 > 3. MOM提供商 > MOM可以存储和转发消息 > 消息传递和排队技术有以下三个主要特点: > > * 通讯程序可在不同的时间运行: > 程序不在网络上直接相互通话,而是间接地将消息放入消息队列,因为程序间没有直接的联系。所以它们不必同时运行。消息放入适当的队列时,目标程序甚至根本不需要正在运行;即使目标程序在运行,也不意味着要立即处理该消息。 > * 对应用程序的结构没有约束: > 在复杂的应用场合中,通讯程序之间不仅可以是一对一的关系,还可以进行一对多和多对一方式,甚至是上述多种方式的组合。多种通讯方式的构造并没有增加应用程序的复杂性。 > * 程序与网络复杂性相隔离: > 程序将消息放入消息队列或从消息队列中取出消息来进行通讯,与此关联的全部活动,比如维护消息队列、维护程序和队列之间的关系、处理网络的重新启动和在网络中移动消息等是MOM的任务,程序不直接与其它程序通话,并且它们不涉及网络通讯的复杂性。 > MOM好处: > > 1. 降低系统间通信复杂度: > 只需关心如何和MOM进行消息接受和发送 提高了消息的灵活性,不必阻塞等待。尤其时间无关或并行处理。 > 2. 松散耦合: > a系统变化不影响B系统 > 3. 提高系统响应时间: > 例如原来的一套逻辑,完成支付可能涉及先修改订单状态、计算会员积分、通知物流配送几个逻辑才能完成;通过MQ架构设计,就可将紧急重要(需要立刻响应)的业务放到该调用方法中,响应要求不高的使用消息队列,放到MQ队列中,供消费者处理。 > > MOM坏处: > > 1. 缺点之一源自松散耦合本身。在异步系统中,调用方客户端会继续为接收方装入工作,直到处理装入工作所需的资源耗尽且被调用组件发生故障。 # JMS # Java消息服务 英文:Java Message Service JMS是一个Java平台中关于面向消息中间件(MOM)的API > JMS由以下元素组成: > > * JMS提供者: > 常见的有:RocketMQ,RabbitMQ,ActiveMQ,Redis,Kafka,ZeroMQ > * JMS客户: > 生产或消费基于消息的Java的应用程序或对象。 > * JMS生产者: > 创建并发送消息的JMS客户。 > * JMS消费者: > 接收消息的JMS客户。 > * JMS消息: > 包括可以在JMS客户之间传递的数据的对象。 > * JMS队列: > 一个容纳那些被发送的等待阅读的消息的区域。与队列名字所暗示的意思不同,消息的接受顺序并不一定要与消息的发送顺序相同。一旦一个消息被阅读,该消息将被从队列中移走。 > * JMS主题: > 一种支持发送消息给多个订阅者的机制。
相关 「学习笔记」学习笔记合集 可以点击 [https://www.cnblogs.com/hongzy/tag/%E7%AC%94%E8%AE%B0/][https_www.cnblogs.com_hong 淩亂°似流年/ 2023年06月05日 12:48/ 0 赞/ 20 阅读
相关 学习笔记 学习笔记 sudo adduser lilei sudo usermod -G sudo lilei sudo deluse 客官°小女子只卖身不卖艺/ 2022年11月26日 12:58/ 0 赞/ 27 阅读
相关 学习笔记 \ajax: 1、概念:异步的JavaScript 和 xml 1.1异步和同步:客户端和服务器端相互通信的基础上 \客户端必须等待服务器端的响应。在等待的期间客户 深藏阁楼爱情的钟/ 2022年10月29日 13:24/ 0 赞/ 280 阅读
相关 学习笔记 一. CSS 如何实现文字的垂直居中 1. 二.问题记录 1.创建新的JSP页面的时候报错:The superclass “javax.servlet.http.H 超、凢脫俗/ 2022年08月20日 09:30/ 0 赞/ 144 阅读
相关 【学习笔记】git学习笔记 使用git的好处 可以保存每个版本,只要在每个版本做完后进行上传 ![这里写图片描述][70] 可以异地读取更新 爱被打了一巴掌/ 2022年05月14日 09:10/ 0 赞/ 405 阅读
相关 学习笔记 我的第一天学习c\ 1、c\学习网址 [https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide 矫情吗;*/ 2022年05月08日 06:16/ 0 赞/ 325 阅读
相关 学习笔记 测试 ORM JPA EJB JPQL MOM JMS ORM 对象关系映射 英语:Object Relational M 爱被打了一巴掌/ 2022年02月16日 01:57/ 0 赞/ 396 阅读
相关 [笔记] Docker 学习笔记 1. 什么是 Docker > 官方文档:[链接][Link 1],中文文档:[链接][Link 2] Docker 属于 Linux 容器的一种封装,提供简单易用的容 缺乏、安全感/ 2021年11月27日 02:01/ 0 赞/ 590 阅读
相关 学习笔记 1、js如何将136分钟转化为几小时,几分钟 return (Math.floor(minutes/60) + "小时" + (minutes%60) + "分" 爱被打了一巴掌/ 2021年07月25日 23:46/ 0 赞/ 1050 阅读
还没有评论,来说两句吧...