Skip to content

Commit

Permalink
feat: add hessian demo
Browse files Browse the repository at this point in the history
  • Loading branch information
gxcsoccer committed Nov 13, 2018
1 parent 370f65c commit a1c4380
Show file tree
Hide file tree
Showing 5 changed files with 132 additions and 0 deletions.
17 changes: 17 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,21 @@
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

</project>
44 changes: 44 additions & 0 deletions src/main/java/com/alipay/sofa/rpc/HessianServiceServerMain.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package com.alipay.sofa.rpc;

import com.alipay.sofa.rpc.config.ProviderConfig;
import com.alipay.sofa.rpc.config.RegistryConfig;
import com.alipay.sofa.rpc.config.ServerConfig;
import com.alipay.sofa.rpc.context.RpcRuntimeContext;
import com.alipay.sofa.rpc.hessian.HelloService;
import com.alipay.sofa.rpc.hessian.HelloServiceImpl;
import com.alipay.sofa.rpc.log.Logger;
import com.alipay.sofa.rpc.log.LoggerFactory;
import com.alipay.sofa.rpc.protobuf.ProtoService;
import com.alipay.sofa.rpc.protobuf.ProtoServiceImpl;

public class HessianServiceServerMain {

/**
* Logger for ProtobufServiceServerMain
**/
private static final Logger LOGGER = LoggerFactory.getLogger(ProtobufServiceServerMain.class);

public static void main(String[] args) {
// 指定注册中心
RegistryConfig registryConfig = new RegistryConfig()
.setProtocol("zookeeper")
.setAddress("127.0.0.1:2181");

ServerConfig serverConfig = new ServerConfig()
.setProtocol("bolt") // 设置一个协议,默认bolt
.setSerialization("hessian2")
.setPort(12200) // 设置一个端口,默认12200
.setDaemon(false); // 非守护线程

ProviderConfig<HelloService> providerConfig = new ProviderConfig<HelloService>()
.setInterfaceId(HelloService.class.getName()) // 指定接口
.setRef(new HelloServiceImpl()) // 指定实现
.setServer(serverConfig) // 指定服务端
.setRegistry(registryConfig);


providerConfig.export(); // 发布服务

LOGGER.error("started at pid {}", RpcRuntimeContext.PID);
}
}
7 changes: 7 additions & 0 deletions src/main/java/com/alipay/sofa/rpc/hessian/HelloService.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.alipay.sofa.rpc.hessian;

public interface HelloService {
String sayHello(String name);

User echoUser(User user);
}
11 changes: 11 additions & 0 deletions src/main/java/com/alipay/sofa/rpc/hessian/HelloServiceImpl.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.alipay.sofa.rpc.hessian;

public class HelloServiceImpl implements HelloService {
public String sayHello(String name) {
return "hello " + name;
}

public User echoUser(User user) {
return user;
}
}
53 changes: 53 additions & 0 deletions src/main/java/com/alipay/sofa/rpc/hessian/User.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package com.alipay.sofa.rpc.hessian;

import java.io.Serializable;
import java.util.Date;

public class User implements Serializable {
private int id;
private String name;
private String address;
private int salary;
private Date birthday;


public int getId() {
return id;
}

public String getName() {
return name;
}

public String getAddress() {
return address;
}

public int getSalary() {
return salary;
}

public void setId(int id) {
this.id = id;
}

public void setName(String name) {
this.name = name;
}

public void setAddress(String address) {
this.address = address;
}

public void setSalary(int salary) {
this.salary = salary;
}

public Date getBirthday() {
return birthday;
}

public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}

0 comments on commit a1c4380

Please sign in to comment.