• Category Archives: Java

安装RabbitMQ

一、安装ERLANG

RabbitMQ依赖语言开发包ErLang,到http://www.erlang.org/downloads下载windows版本并安装,安装后需要配置环境变量:

1、增加系统变量:ERLANG_HOME=C:\Program Files\erl-23.0

2、在Path系统变量中增加:%ERLANG_HOME%\bin

然后在CMD中输入指令“erl”即可验证是否配置成功:

111

 

 

二、安装RabbitMQ

到https://www.rabbitmq.com/download.html下载windows版本病安装,安装后需要配置环境变量:

1、增加系统变量:RABBITMQ_SERVER=C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.3

2、在Path系统变量中增加:%RABBITMQ_SERVER%\sbin

三、激活RabbitMQ的WEB管理界面(可选)

打开CMD执行命令:rabbitmq-plugins.bat enable rabbitmq_management

222

执行成功后重启RabbitMQ服务(可到“服务”中重启,或在任务栏中也能找到相关菜单),然后访问网址:http://localhost:15672/

333

默认用户名/密码:guest/guest

登录后出现如下界面:

444

SpringBoot2.1.1使用Zuul创建SpringCloud微服务Gateway网关

1、在新的SpringBoot项目中的pom.xml引入如下依赖:

2、在pom.xml的project中加入SpringCloud的版本管理配置:

3、编辑配置文件application.propertites:

4、最后在application启动类中加入@EnableDiscoveryClient和@EnableZuulProxy注解:

 

SpringBoot2.1.1微服务架构引入SpringCloudSecurity安全认证

1、在eureka服务器的pom.xml中引入依赖:

2、创建密码安全认证密码匹配规则类MyPasswordEncoder.java:

3、在eureka服务器中创建配置类SecurityConfig.java:

4、启动服务,访问eureka服务中心,使用admin:123456进行登录,成功进入eureka控制台

5、对微服务提供者的application.propertites说引用的eureka服务中心地址的前面加入“admin:123456@”,如:http\://admin:123456@localhost\:8761/eureka/ ,然后启动即可~

SpringBoot2.1.1使用SpringCloud的Feign调用Eureka微服务并开启Hystrix熔断机制

1、先在pom.xml中引入如下依赖:

2、在pom.xml中的<project></project>之间增加以下关于springcloud的版本管理:

3、在application.propertites中增加如下配置:

4、在application启动入口增加@EnableFeignClients注解:

5、创建FeignClient客户端:

6、编写调用微服务的Controller:

7、编写熔断处理方法:

8、启动服务,访问对应的api,分别在微服务开启、关闭的时候调用API,查看结果即可。

微服务的技术栈

微服务条目 落地技术
服务开发 SpringBoot,Spring,SpringMVC
服务配置与管理 Netflix公司的Archaius、阿里的Diamond等
服务注册与发现 Eureka、Consul、Zookeeper等
服务调用 Rest、RPC、gRPC
服务熔断器 Hystrix、Envoy等
负载均衡 Ribbon、Nginx等
服务接口调用(客户端调用服务的简化工具) Feign等
消息队列 Kafka、RabbitMQ、ActiveMQ等
服务配置中心管理 SpringCloudConfig、Chef等
服务路由(API网关) Zuul等
服务监控 Zabbix、Nagios、Metrics、Specatator等
全链路追踪 Zipkin、Brave、Dapper等
服务部署 Docker、OpenStack、Kubernetes等
数据流操作开发包 SpringCloud Stream(封装与Redis,Rabbit,Kafka等发送接收消息)
事件消息总线 SpringCloud Bus

 

使用SpringBoot2.1.1配置SpringCloudConfig服务

配置中心服务器:

1、在pom.xml中加入如下依赖:

注意高亮行,这个version需要和springboot的版本号一致。

2、在启动类中加入@EnableConfigServer注解

3、创建bootstrap.yml配置文件,本地配置如下:

4、在项目的resources(class)目录中创建config文件夹,并在里面新增application-dev.properties文件,内容如下:

5、启动并访问 http://localhost:3000/application-dev.properties,能看到

配置客户端:

1、在pom.xml中加入如下依赖:

同样的,version那里切记要跟springboot的版本一致。

2、创建bootstrap.yml配置文件,配置如下:

3、创建测试用的controller

4、启动并访问http://localhost:8081/test,便能看到client获取server的class中config里的配置文件对应的a.url配置

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

首先加入依赖到pom.xml:

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

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

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

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

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,因为前者在移动端中下载文件是不成功的(但奇怪的是在电脑端上却是正常的)。

close