java gradle 项目 在idea上 搭建一个简单的thrift实例

这篇具有很好参考价值的文章主要介绍了java gradle 项目 在idea上 搭建一个简单的thrift实例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

Thrift是RPC通信的一种方式,可以通过跨语言进行通信,最近项目需要进行跨语言的通信,因此首先尝试搭建了一个简单的thrift框架,因为网上的实例大都参差不全,通过gpt查询得到的结果对我帮助更大一点,但是也不够仔细,因此做此总结,希望给需要的人帮助。

正文

1 创建一个gradle项目

首先我们需要创建一个gradle项目,如果你是在当前项目的基础上也可以不做创建哦。

2 添加依赖

找到根目录的bulid.gradle 文件添加依赖

ependencies {
    implementation 'org.apache.thrift:libthrift:0.15.0'
}

之后idea会提示你导入依赖,或者收到更新一下依赖就可以生成thrift对应的依赖。

3创建一个简单的demo

  1. 创建 .thrift文件
    创建一个文件夹比如命名为thrift,在文件下创建一个.thrift文件,用于生成对应语言的代码。
    比如我创建了一个login.thrift 文件,添加两个方法,一个有返回值,一个没有返回值。
    创建的文件↓:
    java gradle 项目 在idea上 搭建一个简单的thrift实例,java,intellij-idea,开发语言
    文件内容↓:java gradle 项目 在idea上 搭建一个简单的thrift实例,java,intellij-idea,开发语言

  2. 通过命令生成对应的java接口代码
    这是thrift的一套机制,因为thrift是跨语言的,所以你要生成你的接口对应语言的service。
    在你刚才创建的 .thrift文件所在的路径下执行命令。
    找到你的 .thrift文件,右键,open in terminal,执行命令

thrift --gen java loginService.thrift
其中 xx.thrift 就是你刚才创建的文件

() 如果你发现,这个命令没办法执行,那你需要先执行这个命令哦:(亲测有效)

sudo zypper install thrift

他就会自动生成文件夹和文件↓
java gradle 项目 在idea上 搭建一个简单的thrift实例,java,intellij-idea,开发语言

  1. 写一个实现类,实现刚才生成的接口
    针对你需要的功能,写一个实现类,比如我写一个loginServiceImpl,实现刚才生成的接口类。
    java gradle 项目 在idea上 搭建一个简单的thrift实例,java,intellij-idea,开发语言
    到现在为止,我们已经完成了大部分,之后我们就开始写一个服务端和一个客户端去测试了。thrfit需要创建一个server端和一个client端,用于我们发送通信和接收通信。

  2. 写服务端
    创建一个thriftServer,类你可以随意命名。举例↓文章来源地址https://www.toymoban.com/news/detail-671053.html

package com.gehc.surgery.thrift.Server;
import com.gehc.surgery.thrift.loginServiceImpl;
import com.gehc.surgery.thrift.loginService;
import org.apache.thrift.server.TServer;
import org.apache.thrift.server.TSimpleServer;
import org.apache.thrift.transport.TServerSocket;

public class ThriftServer {
    public static  void main(String[] args){
        try {
            //刚才自己创建的实现类
            loginServiceImpl login =new loginServiceImpl();
            TServerSocket serverSocket =new TServerSocket(9090);
            loginService.Processor<loginServiceImpl> processor =new loginService.Processor<>(login);
            TServer.Args serverArg =new TServer.Args(serverSocket);
            serverArg.processor(processor);
            TSimpleServer server =new TSimpleServer(serverArg);
            server.serve();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
  1. 写一个客户端
    创建一个thriftClient类,类名你可以自己命名,写法如下↓:
package com.gehc.surgery.thrift.Client;

import com.gehc.surgery.thrift.loginService;
import org.apache.thrift.TException;
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.transport.TSocket;
import org.apache.thrift.transport.TTransport;

public class ThriftClient {
    public  static void main(String[] args) throws TException {
    		//自己定一下ip和端口 我随意定义的
            TTransport transport= new TSocket("localhost",9090);
            transport.open();
            TBinaryProtocol protocol=new TBinaryProtocol(transport);
            loginService.Client client=new loginService.Client(protocol);
            //你的实现类的方法
            client.login();
            boolean result= client.login1();
            System.out.println(result);
            transport.close();
    }
}
  1. 测试
    先启动一下服务端,然后再启动一下客户端,我的login1()方法是有返回值的,当启动了客户端,就可以在服务端的执行日志那里看到我的相关返回值啦
    java gradle 项目 在idea上 搭建一个简单的thrift实例,java,intellij-idea,开发语言

到了这里,关于java gradle 项目 在idea上 搭建一个简单的thrift实例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何搭建一个简单的springCloudAlibaba项目,并实现基本的使用

    微服务是一种软件架构风格,它将一个大型应用程序拆分成一组更小、独立的服务,每个服务都可以独立开发、部署和扩展。每个服务都有自己的业务逻辑和数据库,并且通过轻量级通信机制(如RESTful API)来相互通信。 微服务架构的优点包括 可扩展性:由于每个服务都是独

    2024年01月21日
    浏览(35)
  • 使用node.js 搭建一个简单的HelloWorld Web项目

    文档结构 config.ini one.js 使用方法 启动内网穿透 在控制台启动js文件 访问网页 修改为8081 登录natapp官网 成功访问

    2024年02月14日
    浏览(37)
  • IDEA如何导入gradle项目

    IDEA导入了gradle项目之后,怎么样让它能够识别成gradle项目并运行呢?其实很简单, file - setting - Build,Execution,Deployment - Build Tools - Gradle 如上所示,将Use Gradle from选项改成 Specified location , 后面的路径选择自己安装的gradle路径即可,我的路径是: C:Devinmy Program filesgradle-6.9.1

    2024年02月15日
    浏览(33)
  • 将Java与数据库连接起来(配置idea),实现一个简单的图书管理系统

    目录 1.通过connector连接Java和Mysql数据库 (1)首先配置idea (2)如何把java和mysql连接起来 1.简单连接 2.认识PrepareStatement 2.实现简单的图书管理系统 (1)创建数据库jdbc,并且创建出book表  (2)在idea中书写代码将mysql与java连接,实现基本的增删改查 1.JdbcUtiles类,一个使用jdbc的工具

    2024年02月11日
    浏览(33)
  • Android Studio或IntelliJ IDEA 构建Gradle项目时,gradle下载时连接超时问题

    用IntelliJ IDEA 创建一个Gradle项目,下载gradle时显示连接超时。 问题如下 : 在项目根目录的gradle目录下,gradle-wrapper.properties文件定义了用于构建项目的gradle工具的下载地址 services.gradle.org 。由于该网站的服务器在国外,所以在国内访问可能存在连接超时问题,访问不到。 笔者

    2024年02月04日
    浏览(40)
  • 初级 - 如何搭建一个Java Web项目 - 记录

    Intellij IDEA 一般可以通过两种方式创建 Spring Boot 项目: 使用 Maven 创建 使用 Spring Initializr 创建 Tips: 标题选项后的 感叹号 ! 的是重点配置 这里笔者选择的是 2.x 版本的 Spring Boot,不勾选 Download pre-built … 1. 取消download pre-built shared indexes自动下载 Developer Tools 选项 ! 1. Spring

    2024年02月07日
    浏览(38)
  • 一个简单的前后端交互——登录注册页面(升级版)idea代码篇(2:Maven:Javaweb项目)使用MyBatis:Mapper,servlet+Tomcat

    前言:本篇前后端交互实现代码 。详细项目搭建见上篇 先贴一张登录界面和包结构:   1.Mapper 2.pojo 3.util 4.web 5.Login.html 6.CSS 我的企业版过期了,不能演示跳转页面了。但测过没问题。

    2024年02月11日
    浏览(42)
  • IDEA用Gradle构建项目时,lombok插件无效的解决办法

    Lombok 可用来帮助开发人员消除 Java 的重复代码,尤其是对于简单的 Java 对象(POJO),比如说getter/setter/toString等方法的编写。它通过注解实现这一目的。 正确使用姿势 一、安装Lombok插件 菜单栏File - Settings - Plugins,在中间Marketplace下面输入Lombok搜索后进行安装,安装后会提

    2024年02月14日
    浏览(33)
  • 记本地新建一个gradle方式springboot项目过程

    打算使用gradle在idea新建个springboot项目,然后坑很多,记录一下 原来我的idea应该是社区版,新建项目时候没有可以选择spring相关配置,然后卸载了重装,之前问题是启动是启动起来了,但是状态栏那边一直显示编译中,一直找不到具体原因,所以卸载和重装了。 接下来就是

    2024年02月10日
    浏览(27)
  • 使用SpringBoot一小时快速搭建一个简单后台管理(增删改查)(超详细教程) 各大技术基础教学、实战项目开发教学

     最近也是临近期末了,各种的期末大作业,后台管理也是很多地方需要用到的,为了方便大家能快速上手,快速搭建一个简单的后台管理,我花了两天时间整理了一下 我会从0开始介绍,从数据库的设计到前端页面的引入最后到后端代码的编写,你只需要会一点前端的基础和

    2023年04月13日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包