本文整理匯總了Java中org.apache.avro.ipc.generic.GenericResponder類的典型用法代碼示例。如果您正苦於以下問題:Java GenericResponder類的具體用法?Java GenericResponder怎麽用?Java GenericResponder使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
GenericResponder類屬於org.apache.avro.ipc.generic包,在下文中一共展示了GenericResponder類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: MemberNettyRPCDynBuilderServer
import org.apache.avro.ipc.generic.GenericResponder; //導入依賴的package包/類
/**
* 服務端支持的網絡通訊協議有:NettyServer、SocketServer、HttpServer
* 采用Netty方式調用
*
* @throws IOException
* @throws InterruptedException
*/
public void MemberNettyRPCDynBuilderServer() throws IOException, InterruptedException {
// 1.進行業務處理
GenericResponder gr = bussinessDeal();
// 2.開啟一個Netty服務端,進行等待客戶端的連接
Server server = new NettyServer(gr, new InetSocketAddress(60090));
server.start();
System.out.println("Dyn Builder PRC Start Complete.");
server.join();
}
示例2: MemberHttpRPCDynBuilderServer
import org.apache.avro.ipc.generic.GenericResponder; //導入依賴的package包/類
/**
* 服務端支持的網絡通訊協議有:NettyServer、SocketServer、HttpServer
* 采用HTTPSERVER方式調用
*
* @throws IOException
* @throws InterruptedException
*/
public void MemberHttpRPCDynBuilderServer() throws IOException, InterruptedException {
// 1.進行業務處理
GenericResponder gr = bussinessDeal();
// 2.開啟一個HTTP服務端,進行等待客戶端的連接
Server server = new HttpServer(gr, 60090);
server.start();
System.out.println("Dyn Builder PRC Start Complete.");
server.join();
}
示例3: bussinessDeal
import org.apache.avro.ipc.generic.GenericResponder; //導入依賴的package包/類
/**
* 主要進行業務處理 服務端邏輯處理 采用動態生成代碼處理方式,客戶端和服務端隻需要有protocol文件即可,不需要手工生成代碼
*
* @return
* @throws IOException
*/
private GenericResponder bussinessDeal() throws IOException {
// 1.構建協議
final Protocol protocol = Protocol.parse(this.getClass().getResourceAsStream("/Members.avpr"));
// 2.構建業務邏輯及響應客戶端
GenericResponder gr = new GenericResponder(protocol) {
@Override
public Object respond(Message message, Object request) throws Exception {
System.err.println("request:" + request);
// 3.獲取請求信息
GenericRecord record = (GenericRecord) request;
GenericRecord retGr = null;
// 4.判斷請求的方法
if (message.getName().equals("login")) {
// 5.獲取到傳輸的參數
Object obj = record.get("m");
GenericRecord mGr = (GenericRecord) obj;
String userName = mGr.get("userName").toString();
String userPwd = mGr.get("userPwd").toString();
// 6.進行相應的業務邏輯處理
System.out.println("Members:" + ",userName:" + userName + mGr + ",userPwd:" + userPwd);
String retMsg;
if (userName.equalsIgnoreCase("rita") && userPwd.equals("123456")) {
retMsg = "哈哈,恭喜你,成功登錄。";
System.out.println(retMsg);
} else {
retMsg = "登錄失敗。";
System.out.println(retMsg);
}
// 7.獲取返回值類型
retGr = new GenericData.Record(protocol.getMessages().get("login").getResponse());
// 8.構造回複消息
retGr.put("msg", retMsg);
}
System.err.println("DEAL SUCCESS!");
return retGr;
}
};
return gr;
}