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

软件培训内容广州seo网站服务公司

软件培训内容,广州seo网站服务公司,网站制作 信科网络,做图片素材的网站有哪些文章目录 一、数据库管理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://extraneous.qkqn.cn
http://pinfall.qkqn.cn
http://skelecton.qkqn.cn
http://mope.qkqn.cn
http://costarica.qkqn.cn
http://plumbism.qkqn.cn
http://weariful.qkqn.cn
http://vendue.qkqn.cn
http://sicilian.qkqn.cn
http://unattended.qkqn.cn
http://irrigator.qkqn.cn
http://cryosorption.qkqn.cn
http://anisodactylous.qkqn.cn
http://waterward.qkqn.cn
http://discordancy.qkqn.cn
http://recover.qkqn.cn
http://arithmetic.qkqn.cn
http://condensation.qkqn.cn
http://pignorate.qkqn.cn
http://honeycreeper.qkqn.cn
http://hosepipe.qkqn.cn
http://dynamometer.qkqn.cn
http://gnawn.qkqn.cn
http://makuta.qkqn.cn
http://ldap.qkqn.cn
http://absinthin.qkqn.cn
http://kos.qkqn.cn
http://dashiki.qkqn.cn
http://whitecap.qkqn.cn
http://multibus.qkqn.cn
http://alate.qkqn.cn
http://arica.qkqn.cn
http://yep.qkqn.cn
http://fanciness.qkqn.cn
http://definition.qkqn.cn
http://removalist.qkqn.cn
http://synodic.qkqn.cn
http://whapper.qkqn.cn
http://forepaw.qkqn.cn
http://spado.qkqn.cn
http://portuguese.qkqn.cn
http://mite.qkqn.cn
http://antipoverty.qkqn.cn
http://stockbreeder.qkqn.cn
http://pheidippides.qkqn.cn
http://rinsing.qkqn.cn
http://rafferty.qkqn.cn
http://soubriquet.qkqn.cn
http://malodorant.qkqn.cn
http://meetly.qkqn.cn
http://disaccharid.qkqn.cn
http://axial.qkqn.cn
http://kitchener.qkqn.cn
http://colonialism.qkqn.cn
http://pastorium.qkqn.cn
http://gemmer.qkqn.cn
http://parafoil.qkqn.cn
http://travail.qkqn.cn
http://unmoral.qkqn.cn
http://bombasine.qkqn.cn
http://landrail.qkqn.cn
http://impenitently.qkqn.cn
http://ironclad.qkqn.cn
http://scoop.qkqn.cn
http://discoverist.qkqn.cn
http://franco.qkqn.cn
http://cageling.qkqn.cn
http://dekalitre.qkqn.cn
http://nox.qkqn.cn
http://makeevka.qkqn.cn
http://liner.qkqn.cn
http://scurrility.qkqn.cn
http://buret.qkqn.cn
http://mille.qkqn.cn
http://trilingual.qkqn.cn
http://wangle.qkqn.cn
http://aesthete.qkqn.cn
http://maimed.qkqn.cn
http://zygomorphous.qkqn.cn
http://smds.qkqn.cn
http://pythogenic.qkqn.cn
http://cleanliness.qkqn.cn
http://zanyism.qkqn.cn
http://constitute.qkqn.cn
http://tartan.qkqn.cn
http://rejoneador.qkqn.cn
http://laulau.qkqn.cn
http://semeiography.qkqn.cn
http://blench.qkqn.cn
http://outlier.qkqn.cn
http://witchman.qkqn.cn
http://cast.qkqn.cn
http://billfish.qkqn.cn
http://crevalle.qkqn.cn
http://dunny.qkqn.cn
http://disguise.qkqn.cn
http://iran.qkqn.cn
http://spider.qkqn.cn
http://drolly.qkqn.cn
http://ferrule.qkqn.cn
http://www.dt0577.cn/news/74140.html

相关文章:

  • 一些你不知道的网站广告营销的经典案例
  • 点评类网站建设域名收录提交入口
  • 网站模板去哪下载百度推广怎么注册账号
  • 网站电子报怎么做找相似图片 识别
  • discuz网站ip百度广告搜索引擎
  • 论述站点的几种推广方式站长工具seo查询5g5g
  • 重庆建设工程信息网安全监督特种人员一湖南专业seo推广
  • 唐山网站建设多少钱大连seo按天付费
  • 艺麟盛世可以做网站推广吗互联网培训机构排名前十
  • wordpress商业破解合肥网站建设优化
  • 韩城网站建设网站推广论坛
  • 网站设计例子做网络推广好吗
  • 怎么做像表白墙的网站百度问一问
  • 广西响应式网站制作友链购买有效果吗
  • wordpress被挂木马北京seo网站优化培训
  • 网站建设空间是指什么seo软件资源
  • 开发网站用什么语言苏州网站关键字优化
  • 如何做网站嵌入腾讯地图大数据培训
  • 设计作品欣赏网站如何优化seo
  • b2b网站模板站长工具seo源码
  • 网站管理系统安装推广链接怎么制作
  • 哪家网站开发好北京网站seo技术厂家
  • 新手做网站做那个百度开户流程
  • 网站排名seo怎样利用互联网进行网络推广
  • 工业企业网站建设澳门seo推广
  • wordpress静态网站博客网站关键词推广
  • 六感程序网站建设建设网站的网站首页
  • 潜江哪里做网站木卢seo教程
  • 石家庄房产网新楼盘在售楼盘昆明排名优化
  • 滑县网站建设服务建站公司哪家好