springboot+dubbo实现项目itrip-search-consumer流程
准备
把3个solr的工具类(BaseQuery、Param、SolrParam)放到itrip-common中,导如下依赖:
<!--solr导这个包,注意版本号为2.1.1-->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-solr</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
注意:由于solr的这3个工具类是放到了utils模块,所以只要是导了utils依赖的项目,都要在application.properties做solr的基础配置。
# solr配置
# solr核心配置
searchdb.baseUrl=http://localhost:8080/solr/hotel
# solr请求网址配置(IP+端口,/solr是固定写法)
spring.data.solr.host=http://localhost:8080/solr
itrip-search-consumer流程
1.创建springboot项目
2.修改maven仓库为基础模块itrip-maven和provider所在的maven库,修改pom的版本为1.5.9(需要对一些低版本依赖兼容,所以要改为1.5.9),import changes。
3.application.properties配置dubbo和redis。
注意:consumer不需要配置数据源,只有provider提供者服务需要配置,因为他要操作dao。由此,可以确定pom.xml导依赖的时候不可以导dao模块。
4.启动类添加dubbo注解@EnableDubboConfiguration,表示使用dubbo服务。
5.建包Controller和service.impl,导包
6.分离业务代码,修改注解
7.项目里配置solr
spring.data.solr.host=http://localhost:8080/solr
8.solr核心配置
参考原来的代码
private static String URL = PropertiesUtils.get("db.properties", "baseUrl");
需要在配置文件中定义参数baseUrl,存放hotel核心的Url。
itrip-common编写配置类:Searchdb,定义参数baseUrl,getter和setter,加配置类注解。
application.properties做核心的内容配置,
searchdb.baseUrl=http://localhost:8080/solr/hotel
业务类用到了这个核心,直接把网址给他,
private BaseQuery<ItripHotelVo> itripHotelVoBaseQuery = new BaseQuery<>("http://localhost:8080/solr/hotel");
9.启动虚拟机(dubbo和redis在虚拟机上),启动本地tomcat(solr在tomcat上),启动search-consumer,成功。
注意:
不需要启动provider,
由于search-consumer的业务代码是彻底分离出来的,用的solr做数据缓存,所以他没有操作到dao层的接口,没有用到@Reference注解,所以他是跑不到dubbo的注册中心,直接启动运行不报错,在postman做测试即可。
本文地址:https://blog.csdn.net/m0_45899013/article/details/107334252
上一篇: Java开发实用权威书籍集合