C端开发
如下所示,对于C端开发,需要使用注解@HafCall标记所调用的远端函数。
public class Client {
private String ip;
public Client(String ip) {
this.ip = ip;
}
@HafCall(ip = "ip", method = "TestMain.testService", exception = ClientException.class, timeout = "300")
public void testCSAdd(int a, int b) throws ClientException {
int res = TestMain.testService(a, b);
System.out.println(res);
}
}
@HafCall注解支持如下字段:
- ip表示卸载节点IP地址,函数将被下推到指定IP的节点上运行,必填。该注解字段支持一个IP地址或一个类型为String的成员变量名,用户需保证该成员变量的值是一个合法IP地址。
- method表示访问的S端函数,由类名和函数名组成,必填。
- exception表示下推失败抛出的异常,必填。
- timeout表示函数下推运行的超时时间,默认1800s。
CS下推模式,C端和S端都使用FST序列化工具序列化对象,如果存在不可直接序列化的对象,参考3,为C端和S端指定序列化器。
public class Client {
@HafSerializer(clazz = Page.class, serializer = PageSerializer.class)
@HafCall(ip = "ip", method = "NoMainService.getPageTest", exception = Exception.class)
public Page getPage() throws Exception {
Page page = NoMainService.getPageTest();
return page;
}
}
public class NoMainService {
@HafSerializer(clazz = Page.class, serializer = PageSerializer.class)
@HafService
public static Page getPageTest() {
Page page = new Page("testPage", 10);
System.out.println(page);
return page;
}
}
父主题: CS下推模式