CentOS 7 使用 yum 安装 RabbitMQ 3.6.6

1、安装erlang

到https://www.rabbitmq.com/releases/erlang/下载安装erlang的最大rpm版本,如果自行安装erlang会十分麻烦,我已经被坑过了

1.1、下载erlang

1.2、安装erlang

1.3、测试erlang

输入erl,出现如下画面即为安装正确:

2、安装RabbitMQ

注意不要再官网上安装最新的,安装最新的则需要安装更新版本的erlang,但是erlang能用rpm安装的最大版本只有19,所以我们在这里下载匹配的v3.6.6的RabbitMQ。

2.1、下载RabbitMQ

2.2、安装RabbitMQ

如果提示:#错误:依赖检测失败:socat 被 rabbitmq-server-3.6.6-1.el7.noarch 需要

则使用以下命令先安装socat:

2.3、启动RabbitMQ

2.4、配置网页插件

2.5、配置访问账号密码和权限

2.6、登录网页端

http://ip:15672

输入刚刚设置的账号和密码即可。

springboot2.1.1+hibernate5.0.12开启数据库二级缓存

首先加入依赖到pom.xml:

然后在hibernate.xml配置文件中加入以下参数:

接着创建二级缓存配置文件ehcache.xml:

最后在需要开启缓存的pojo类中加入注解cache注解:

配置完毕,启动项目,输出hibernate的sql执行语句,会发现第二次查询相同对象时不再执行查询语句。

使用jconsole远程监控tomcat的性能

1、修改tomcat的启动文件,在启动文件的CATALINA_OPTS(如果是daemon.sh启动则为JAVA_OPTS)变量中加上以下参数:

2、打开jconsole,输入服务器的IP和监控端口,账号密码为服务器的登录账号和密码,点连接即可。

Spring自定义注解(parameter)

1、新建注解接口VerifyAccount.java:

2、创建注解对应的切面类VerifyAccountAspect.java:

注意要实现接口:HandlerMethodArgumentResolver

3、最后要在SpringMVC的配置java类中加入对应的代码:

注意这行:resolvers.add(new VerifyAccountAspect());

Spring自定义注解(method)

先定义一个注解接口 VerifyToken.java :

再在同目录中定义一个切面类VerifyTokenAspect.java:

最后在需要切入的地方加上注解即可:

 

在J2EE中下载文件时使用中文名字的示例代码

有必要说一下,为什么没有使用FileUtils的readFileToByteArray方法,而是使用原始的out.write,因为前者在移动端中下载文件是不成功的(但奇怪的是在电脑端上却是正常的)。

创建一个基于SpringBoot2.1.x的JavaFX程序

1.创建SpringBoot项目

到 https://start.spring.io/ 创建一个SpringBoot2.1.x项目,解压后使用MyEclipse2015导入为maven项目~

2.引入JavaFX

对SpringBoot入口程序Application进行改造,继承javafx的application类,并引入接口CommandLineRunner, Consumer<Stage>,接着加入如下代码(高亮部分):

然后启动,出现如下界面则为成功:

ac571e727fe9d73b3500c54a3e2117c

 

3.增加预加载页面

在pom.xml加入如下依赖:

 

新增一个启动入口文件如MainApplication.java用于展示欢迎界面,代码如下:

在预加载完成后还要再正式界面中隐藏掉本界面,因此要在原来的application类的stage.show()前面加入如下代码:

然后注释掉原来的application启动类中的main方法:

最后启动刚刚新建的MainApplication.java,便会出现中间界面:

d294a0cca4b571832aaa7b9c70f8363

好了,大功告成。如果还需要引入sqlite数据库,则可以继续往下操作。

4.引入hibernate并使用sqlite数据库

在MainApplication中的 下方加入如下代码,以提示sqlite是否存在:

再pom.xml中加入如下依赖:

 

对原来的Application进行修改(加入高亮部分):

增加sqlite的方言类SQLiteDialect.java:

增加配置文件application.properties用于配置数据库(注意高亮行,要指向刚刚创建的方言类SQLiteDialect.java):

好了,运行MainApplication看看效果:

639fccfb32a10d16ee5a29089e0094f

如图所示,输入sessionFactory不为空,则注入成功,后面大家自由发挥吧!

5.补充:记得指定maven打包时的启动入口

在pom.xml中加入如下高亮代码

大功告成!

使用MyEclipse进行Maven构建时出现501错误

经过分析,是由于自2020年1月15日起,中央存储库不再支持通过纯HTTP进行的不安全通信,并且要求对存储库的所有请求都通过HTTPS进行加密。

于是我们需要在构建过程中所依赖的maven对其settings.xml文件加入以下配置:

但是MyEclipse中如果使用自带的maven,则你会找不到settings.xml来进行配置,所以我从对应MyEclipse2015内置maven对应3.2.1版本源代码中找到了settings.xml文件,拷贝到C:\Users\Administrator\.m2并在mirrors中加入以上配置。

settings ←我配置好的文件在这里下载

接着根据下图只是将MyEclipse中的maven指定为刚刚设置的文件,然后执行 update project 即可~

7024d8405f8c484c4a7a2ee628e89e8

5240b2a4bda21aa8570dd13cb0f241a

 

最后要注意的是,如果使用JDK7或更低版本的话,是不支持TLS1.2的,而maven的中央仓库要求https协议为TLS1.2,此时可以考虑将JDK7升级到JDK8以上,或者将中央仓库改为阿里云的:

如果是在MyEclipse以外的地方遇到TLS版本问题,则可以增加以下参数尝试:

 

nginx要注意的并发配置

单核所能产生的线程数问题

nginx默认只使用cpu的一个核,单核支持的线程数是1024,意味着超过1024就会崩

需要在配置中加上:worker_processes 4 (数字“4”为您所需要使用的核数)

单个文件访问数量的问题

nginx默认只允许单个文件被4096个线程打开,意味着如果nginx的线程超过4096也会崩,哪怕设置CPU核数大于4个

需要在配置中加上:worker_rlimit_nofile 32768

123

close