十一、tars服务,java tars服务server端
程序员文章站
2022-06-20 14:31:51
...
服务器配置尽量高一点,我的服务器配置:1核cpu,4G内存,1M带宽
1、tars web管理端添加应用
2、eclipse 创建java maven 服务端代码
3、在src/main/resources目录下建立***.tars文件
内容为:
module TestApp
{
interface Echo
{
string echo(int no, string name);
};
};
4、修改pom.xml文件
内容为,<plugins>下的包名改为自己的,tars文件路径也要写正确
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.dsj</groupId>
<artifactId>javaserver</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>javaserver Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.tencent.tars</groupId>
<artifactId>tars-server</artifactId>
<version>1.0.3</version>
<type>jar</type>
</dependency><dependency>
<groupId>com.tencent.tars</groupId>
<artifactId>tars-core</artifactId>
<version>1.0.3</version>
</dependency></dependencies>
<build>
<finalName>javaserver</finalName>
<plugins>
<plugin>
<groupId>com.tencent.tars</groupId>
<artifactId>tars-maven-plugin</artifactId>
<version>1.0.3</version>
<configuration>
<tars2JavaConfig>
<!-- tars文件位置 -->
<tarsFiles>
<tarsFile>${basedir}/src/main/resources/echo.tars</tarsFile>
</tarsFiles>
<!-- 源文件编码 -->
<tarsFileCharset>UTF-8</tarsFileCharset>
<!-- 生成服务端代码 -->
<servant>true</servant>
<!-- 生成源代码编码 -->
<charset>UTF-8</charset>
<!-- 生成的源代码目录 -->
<srcPath>${basedir}/src/main/java</srcPath>
<!-- 生成源代码包前缀 -->
<packagePrefixName>com.dsj.</packagePrefixName>
</tars2JavaConfig>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
5、在工程根目录下执行mvn tars:tars2java
执行之后会在工程的某个包下出现一个***Servant.java接口类
// **********************************************************************
// This file was generated by a TARS parser!
// TARS version 1.0.1.
// **********************************************************************
package com.dsj.testapp;
import com.qq.tars.protocol.annotation.*;
import com.qq.tars.protocol.tars.annotation.*;
import com.qq.tars.common.support.Holder;
@Servant
public interface EchoServant {
public String echo(int no, String name);
}
6、创建新类,实现接口
package com.dsj.testapp.impl;
import com.dsj.testapp.EchoServant;
/**
* @author: py
* @version:2018年7月4日 下午8:17:53
* com.dsj.testapp.impl.EchoServantImpl.java
* @Desc
*/
public class EchoServantImpl implements EchoServant{
@Override
public String echo(int no, String name) {
return String.format("echo no=%s, name=%s, time=%s", no, name, System.currentTimeMillis());
}
}
7、在/src/main/resources下创建一个servants.xml的配置文件,服务编写后需要进程启动时加载配置暴露服务,配置如下:
包名写为自己类路径
<?xml version="1.0" encoding="UTF-8"?>
<servants>
<servant name="EchoObj" protocol="tars" port="10020">
<home-api>com.dsj.testapp.EchoServant</home-api>
<home-class>com.dsj.testapp.impl.EchoServantImpl</home-class>
</servant>
</servants>
8、在工程根目录下执行 mvn package生成war包,后续可以管理系统进行发布。
9、