分布式项目14 使用dubbo进行系统之间的通信,不用jsonp

news/2024/11/15 0:52:08/

使用jsonp技术,前端的ajax需要把方法的datatype写成jsonp,并且在controller类中返回值类型是jsonPObject,这个是特有的java的api,用于jsonp技术。

分布式项目可以使用dubbo框架。
第一步:导入dubbo依赖

<!--引入dubbo配置 -->
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.2.0</version>
</dependency>

第二步:
编辑服务provider,在公共模块创建dubbo接口
在jt-common中创建:

//定义dubbo自己的接口
public interface DubboUserService {
}

第三步:在相关模块中去创建接口实现类。

package com.jt.service;
import org.springframework.beans.factory.annotation.Autowired;
import com.alibaba.dubbo.config.annotation.Service;
import com.jt.mapper.UserMapper;
//这是dubbo的实现类
@Service
public class DubboUserServiceImpl implements DubboUserService {
@Autowired
private UserMapper userMapper;
}

这里的注解是com.alibaba.dubbo.config.annotation.Service;是dubbo的注解。

第四步:在接口实现类中的项目里面修改application.yml文件

dubbo:
scan:
basePackages: com.jt
application:
name: provider-user
registry:
address: zookeeper://192.168.126.129:2181?
backup=192.168.126.129:2182,192.168.126.129:2183
protocol:
name: dubbo
port: 20880

表示这个是一个provider

第五步:编辑服务消费者
UserController:说明:编辑jt-web的UserController实现接口的注入.

import com.alibaba.dubbo.config.annotation.Reference;
import com.jt.service.DubboUserService;
@Controller
@RequestMapping("/user")
public class UserController {
//引入dubbo配置
@Reference(check=false) //消费者启动时暂时不检查服务是否有提供者.
private DubboUserService userService;
....
}

@Reference(check=false) //消费者启动时暂时不检查服务是否有提供者.启动接口,需要专门的dubbo注解
import com.alibaba.dubbo.config.annotation.Reference;
import com.jt.service.DubboUserService;
第六步:编辑消费者的YML配置,说明:配置jt-web的application.yml文件

dubbo:
scan:
basePackages: com.jt
application:
name: consumer-user
registry:
address: zookeeper://192.168.126.129:2181?
backup=192.168.126.129:2182,192.168.126.129:2183

http://www.ppmy.cn/news/291944.html

相关文章

【服务器数据恢复】断电导致RAID无法找到存储设备的数据恢复案例

服务器数据恢复环境&#xff1a; HP EVA存储&#xff0c;6块SAS硬盘组建的raid5磁盘阵列。上层操作系统是WINDOWS SERVER。该存储为公司内部文件服务器使用。 服务器故障&分析&#xff1a; 在遭遇两次意外断电后&#xff0c;设备重启时raid提示“无法找到存储设备”。管理员…

可视化报表系统推荐

在当今信息时代&#xff0c;数据的处理和分析已经成为了企业管理中不可或缺的一部分。而报表则是这个过程中最常见的工具之一。手工写报表虽然简单易懂&#xff0c;但是随着数据量的增加&#xff0c;这种方式逐渐暴露出许多痛点。比如说&#xff1a; 1.时间耗费长&#xff1a;…

云原生之深入解析使用Kube-capacity CLI查看Kubernetes资源请求、限制和利用率

一、Kube-capacity 简介 Kube-capacity 是一个简单而强大的 CLI,它提供了 Kubernetes 集群中资源请求、限制和利用率的概览。它将输出的最佳部分结合 kubectl top 到 kubectl describe 一个易于使用的集中于集群资源的 CLI 中。kube-capacity --util NODE CPU RE…

单例模式的学习与使用

1、单例模式的学习 当我们需要确保一个类只有一个实例并且全局可访问时&#xff0c;可以使用单例模式。单例模式是一种创建型设计模式&#xff0c;它保证一个类只有一个实例&#xff0c;并提供一个全局访问点以便于其他对象可以使用该实例。   单例模式通常具有以下几个要素&…

坚持#第394天~佳能打印机IP7280开不了机的十多天的折腾终于有希望了

之前我这台一直都开不了机&#xff0c;按开关没有反应&#xff0c;换了个新电源&#xff0c;还是开不了机&#xff0c;按开关没反应&#xff0c;然后换了个新主板&#xff0c;可以开机了&#xff0c;超激动&#xff0c;但是开机了大约有十分钟左右&#xff0c;然后自动熄火了&a…

一款功能强大的报表引擎-VeryReport报表引擎

在企业管理中&#xff0c;数据分析和决策制定是非常重要的环节。而报表则是这个过程中最常用的工具之一。但是&#xff0c;传统的报表设计与展现方式已经无法满足企业对于数据分析和报表展示的需求。为了解决这些问题&#xff0c;我们向大家推荐一款新一代Web报表软件——VeryR…

家庭IOT监测之摄像头OV7670测试

本篇目标&#xff1a;使用STM32F407驱动摄像头OV7670&#xff0c;并上位机显示照片结果。 材料准备&#xff1a; STM32F4标准工程&#xff1a;stm32f407自建标准工程&#xff08;stm32f4标准工程&#xff09;&#xff08;git仓库地址&#xff09;STM32F4摄像头测试工程&#…

Jetson nano配置排坑系列

Jetson nano配置排坑系列 烧写镜像 利用balenaEtcher将镜像文件~~&#xff08;使用官方镜像&#xff0c;下载速度也够快&#xff0c;毕竟官方的更保险&#xff09;nv-jetson-nano-sd-card-image-r32.4.2.zip~~&#xff08;踩坑系列一&#xff1a;tm的&#xff0c;垃圾官方&am…