0%

局域网

局域网(LAN,Local Area Network),是一种私有网络,被广泛应用在连接个人计算机和消费电子设备,使它们能够共享资源和交换信息。

想要使用局域网,需要一个设备进行通信,这个设备可以使接入点(AP,Access Point)、无线路由器(wireless rounter)或者基站(base station),主要负责中继无线计算机之间的数据包和负责中继无线计算机和Internet之间的数据包

阅读全文 »

定制化tomcat

springboot中是集成了tomcat容器的,如何定制化内置的tomcat呢?springboot提供了定制化的接口

1.5.x版本

在1.5.x版本中使用的是EmbeddedServletContainerCustomizer接口来进行定制化的

1
2
3
4
5
6
7
8
public class MyTomcatCustomizer implements EmbeddedServletContainerCustomizer {

@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
TomcatEmbeddedServletContainerFactory factory = (TomcatEmbeddedServletContainerFactory) container;
factory.setSessionTimeout(5000);
}
}

2.x版本

而升级到springboot2.x的时候发现报错了,这个接口不存在了,springboot2.x中使用WebServerFactoryCustomizer接口进行替换的

1
2
3
4
5
6
7
public class MyTomcatCustomizer implements WebServerFactoryCustomizer {
@Override
public void customize(WebServerFactory factory) {
TomcatServletWebServerFactory tomcatFactory = (TomcatServletWebServerFactory) factory;
tomcatFactory.setUriEncoding(StandardCharsets.UTF_8);
}
}

安全设置

Mycat作为一个连接数据库的中间件,距离数据是非常的近,所以还是需要进行一些安全的设置

权限控制

在server.xml中配置user标签进行权限控制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!-- 用户 -->
<user name="mycat" defaultAccount="true">

<property name="password">123456</property>
<property name="schemas">TESTDB</property>
<property name="defaultSchema">TESTDB</property>
<!--No MyCAT Database selected 错误前会尝试使用该schema作为schema,不设置则为null,报错 -->

<!-- 库级 表级 DML 权限设置
check为true则检查权限
dml权限
0000 禁止insert、update、select、delete
0010 可以select
1110 可以insert、uodate、select
1111 都可以
-->
<!--
<privileges check="false">
<schema name="TESTDB" dml="0110" >
<table name="tb01" dml="0000"></table>
<table name="tb02" dml="1111"></table>
</schema>
</privileges>
-->
</user>

<user name="user">
<property name="password">user</property>
<property name="schemas">TESTDB</property>
<!-- 只读 -->
<property name="readOnly">true</property>
<property name="defaultSchema">TESTDB</property>
</user>
阅读全文 »

分布式全局序列

由于Mycat进行分表操作,为了保证整个表的不同分片中的id要全局唯一,所以不可以使用mysql的自增id,那么如何进行全局序列的生成

Mycat提供了三种生成全局序列的方式,本地文件、数据库方式、时间戳方式

在server.xml中配置sequnceHandlerType

1
2
<!-- 指定使用Mycat全局序列的类型。0为本地文件方式,1为数据库方式,2为时间戳序列方式 -->
<property name="sequnceHandlerType">1</property>

本地文件

Mycat将序列号配置到文件中,当使用序列号中的配置后,Mycat会更新classpath中sequence_conf.properties文件中sequence当前的值

阅读全文 »

maven资源管理

配置文件

在maven中可以将配置文件中引用的maven中的属性值进行属性过滤,替换属性值
<build>中添加<resources>进行属性文件过滤,替换属性值
resources中定义那些目录下的文件会被配置文件中定义的变量替换

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<resources>
<resource>
<!-- 编译之后文件移动到的位置 -->
<targetPath></targetPath>
<!-- 属性文件所在目录,表示src/main/resources下的所有properties文件中的变量都会替换 -->
<directory>
src/main/resources
</directory>
<!-- 如果filtering是false表示不会进行替换 -->
<filtering>true</filtering>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
<resources>
阅读全文 »