当前位置: 首页 > news >正文

jsp网站开发的mvc起名最好的网站排名

jsp网站开发的mvc,起名最好的网站排名,做网站怎么修改网址,河北大型网站建设文章目录 一、数据库管理1.设计数据库2.添加sqlite依赖3.配置application.properties文件4.创建接口MetaMapper5.创建MetaMapper.xml文件6.数据库操作7.封装数据库操作 二、文件管理1.消息持久化2.消息文件格式3.序列化/反序列化4.创建文件管理类MessageFileManager5.垃圾回收 …

文章目录

    • 一、数据库管理
      • 1.设计数据库
      • 2.添加sqlite依赖
      • 3.配置application.properties文件
      • 4.创建接口MetaMapper
      • 5.创建MetaMapper.xml文件
      • 6.数据库操作
      • 7.封装数据库操作
    • 二、文件管理
      • 1.消息持久化
      • 2.消息文件格式
      • 3.序列化/反序列化
      • 4.创建文件管理类MessageFileManager
      • 5.垃圾回收
    • 三、统一管理数据库和文件

一、数据库管理

1.设计数据库

交换机、队列、绑定是交给数据库来管理的,所以,设计这三个表结构就够了,表的字段和核心类同名。

2.添加sqlite依赖

<!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc --><dependency><groupId>org.xerial</groupId><artifactId>sqlite-jdbc</artifactId><version>3.41.0.0</version></dependency>

3.配置application.properties文件

spring.datasource.url=jdbc:sqlite:./data/meta.db
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class-name=org.sqlite.JDBC
mybatis.mapper-locations=classpath:mybatis/*Mapper.xml

4.创建接口MetaMapper

在mqserver包下新创建一个包,名字为mapper,在此包下,创建一个接口MetaMapper。添加注解@Mapper

5.创建MetaMapper.xml文件

在resource目录下,创建一个目录mybatis,在此目录下新建一个MetaMapper.xml文件。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mq.mqserver.mapper.MetaMapper"></mapper>

6.数据库操作

建库操作会在程序启动时,由mybatis在./data/meta.db这里自动生成。
所以这里只用针对交换机、队列、绑定创建表以及简单的插入、删除、查询操作就够了。
MetaMapper:
在这里插入图片描述
MetaMapper.xml:
在这里插入图片描述

7.封装数据库操作

新建一个包datacenter,创建一个类DatabaseManager,封装上述的数据库操作。

  • 初始化数据库

准备工作:因为我们不打算把当前类注入容器,所有需要手动从上下文中获取Bean对象。在启动类中获取上下文。
在这里插入图片描述

如果数据库已经存在,什么都不做(检查./data/meta.db是否存在);

如果不存在,创建目录,建表,插入默认数据。
在这里插入图片描述
在这里插入图片描述

  • 删除数据库文件及目录

    删除文件(./data/meta.db)

    删除目录(./data)

在这里插入图片描述

  • 封装交换机、队列、绑定操作

在这里插入图片描述

二、文件管理

1.消息持久化

将消息持久化就是将消息存储到文件中。
在data目录下,每个队列又对应一个子目录,与队列名一致。子目录下有两个文件,一个是消息内容文件(queue_data.txt),一个是消息统计文件(queue_stat.txt)。
形如:
在这里插入图片描述

2.消息文件格式

  • queue_data.txt (消息内容文件)

在这里插入图片描述

实例:在这里插入图片描述

  • queue_stat.txt (消息统计文件)

    消息总数数 /t 有效消息数

    形如:2300/t1800

3.序列化/反序列化

在common包下添加一个公共工具类BinaryTool,实现序列化、反序列化

  • 序列化
    1.把byte数组写到ByteArrayOutputStream
    2.用ObjectOutputStream关联ByteArrayOutputStream
    3.调用ObjectOutputStream的writeObject方法,将object序列化成二进制数据,写入ByteArrayOutputStream中
    4.调用ByteArrayOutputStream的toByteArray,输出byte[]数组
    在这里插入图片描述

  • 反序列化
    1.使用ByteArrayInputStream读取byte数组
    2.使用ObjectInputStream关联ByteArrayInputStream
    3.使用ObjectInputStream的readObject方法,读取字节数组出来,再反序列化成Object对象,使用Object接收
    4.返回Object对象
    在这里插入图片描述

4.创建文件管理类MessageFileManager

  • 获取目录

在这里插入图片描述

  • 消息统计文件读写

    将消息统计文件的内容封装成一个类Stat。属性有消息总数,有效消息数。
    在这里插入图片描述

  • 创建目录及文件
    在这里插入图片描述

  • 删除目录及文件
    在这里插入图片描述

  • 检查文件是否存在
    在这里插入图片描述

  • 写入消息文件

    以追加的方式写入到文件中。
    在这里插入图片描述

  • 删除消息(逻辑删除)

    定位到消息所处文件的位置,将消息反序列化出来,修改isValid为0x0,然后写回文件原位置。

在这里插入图片描述

  • 读取消息文件
    在这里插入图片描述

5.垃圾回收

此处约定,当消息总数超过2000并且有效消息数小于30%时,触发垃圾回收机制。
此处的垃圾回收机制采用复制算法。

  • 触发垃圾回收
    在这里插入图片描述
  • 垃圾回收
    在这里插入图片描述

三、统一管理数据库和文件

创建DiskDataCenter,整合数据库和文件。

  • 初始化
  • 封装交换机、队列(创建队列时创建目录,删除队列时删除目录)、绑定操作
  • 封装消息操作
    在这里插入图片描述
http://www.yayakq.cn/news/650607/

相关文章:

  • 商城网站现在可以做么wordpress制作电商网站
  • 响应式网站优势网站被降权了怎么办
  • 网站排名不可有利就前抖音代运营是什么
  • 广州网站建设 中网科技一级消防工程师考试通过率
  • 网站设计技术有哪些?网络营销产品
  • 微网站建设哪家好帝国cms添加网站地图
  • 爱站查询工具360优化大师
  • 营销网站的案例分析网站登录页模板
  • 网站的服务与建设岗位职责超链接html代码
  • 网站开发河南全国网站建设有实力
  • 网站建设和网站优化哪个重要深圳微网站搭建
  • 双流县规划建设局网站网站制作常见的问题
  • 什么网站动物和人做的适合个人做外贸的网站
  • html5炫酷网站wordpress自定义菜单设置
  • 莆田人做的网站企业网站建设公司排名
  • 行业门户网站建设方案书合肥做网站开发多少钱
  • 专业网站建站公司石家庄做网站最好的公司
  • 邢台做网站费用支付宝怎么做网站维护
  • 养生网站模板化妆品网站设计报告
  • 合肥网站建设策划方案国内商务网络公司排名
  • 网站备案备注信息华宇网站建设
  • 广州市公需课在哪个网站可以做广东网站开发哪家强
  • 软件网站关键词优化nginx wordpress 重写
  • 箱包网站建设策划报告如何做购物网站的后台
  • 保险网站有哪些正规的网站优化推广公司
  • 网站内容更新教程好文本网站内容管理系统
  • 九江市建设工程门户网站潜江资讯网一手机版
  • 哪些网站是专做女性护肤品源代码大全
  • 顺的网站建设咨询个人做房产网站有哪些
  • 企业网站建设项目实践报告试用虚拟主机不能创建网站