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

东莞市建设局门户网站提高百度搜索排名

东莞市建设局门户网站,提高百度搜索排名,第三方交易平台的建立与操作,网站手机版后台文章目录 一、数据库管理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.ds6.com.cn/news/32419.html

相关文章:

  • 网站设计师网站小说排行榜百度搜索风云榜
  • 小网站靠什么挣钱哪里有永久免费建站
  • 免费分销系统关键词优化是什么意思?
  • 苏州电子商务网站开发公司哪些行业适合做seo
  • 新手公司网页设计模板汕头网站快速优化排名
  • 网站制作出租百度推广开户费用多少
  • 崇文手机网站建设网络推广的细节
  • 自适应网站三套代码给网站做seo的价格
  • 做网站广告送报纸广告2021年度关键词有哪些
  • 网站建设微信运营公司企业网站设计
  • 沈阳网站seo外包2345浏览器网站进入
  • 水泥制品做阿里巴巴还是网站好电商网站建设公司哪家好
  • 医院网站开发百度文库外包公司是正规公司吗
  • 织梦网站上传及安装步骤外贸建站优化
  • 怎么查看网站有没有做ssl专业网站建设公司
  • 查看网站主机百度热搜榜历史
  • 河北省企业网站建设公司百度知道提问首页
  • 先申请网站空间互联网广告平台排名
  • 做兼职拍照片传网站网站推广优化
  • 自己做网站选什么好做网站的外包公司
  • 如何创建自己的公司网站谷歌 chrome 浏览器
  • 网站开发 微信收款做企业网站哪个平台好
  • 深圳西乡 网站建设怎么推广app
  • 网站制作超链接怎么做营销软文是什么
  • 网站建设 后期维护百度一下打开
  • 安徽优化推广网奇seo赚钱培训
  • win7本机做网站淘宝关键词排名查询网站
  • 网站建设需求文件南京企业网站排名优化
  • 如何建一个手机网站宁波网络推广产品服务
  • 专业营销网站费用广告联盟官网入口