changed
JAVA Json RPC
This commit is contained in:
parent
c956e59c51
commit
fca62deb01
|
@ -1,14 +1,35 @@
|
||||||
package com.loafle.rpc.api;
|
package com.loafle.rpc.api;
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
|
|
||||||
import com.googlecode.jsonrpc4j.JsonRpcMethod;
|
import com.googlecode.jsonrpc4j.JsonRpcMethod;
|
||||||
import com.googlecode.jsonrpc4j.JsonRpcService;
|
import com.googlecode.jsonrpc4j.JsonRpcService;
|
||||||
import com.loafle.rpc.model.Input;
|
import com.loafle.rpc.crawler.Crawler;
|
||||||
|
|
||||||
import com.loafle.rpc.model.Output;
|
import com.loafle.rpc.model.Output;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@JsonRpcService("/rpc")
|
@JsonRpcService("/rpc")
|
||||||
public interface Remote {
|
public interface Remote {
|
||||||
@JsonRpcMethod("Remote.Request")
|
|
||||||
Output request(Input t) throws JsonProcessingException;
|
@JsonRpcMethod("RPC.init")
|
||||||
|
Output init(String[] paths) throws JsonProcessingException;
|
||||||
|
|
||||||
|
|
||||||
|
@JsonRpcMethod("RPC.add")
|
||||||
|
Output add(String type, String id) throws JsonProcessingException ;
|
||||||
|
|
||||||
|
// @JsonRpcMethod("Remote.remove")
|
||||||
|
int addDelegate(String name , Crawler crawler);
|
||||||
|
|
||||||
|
@JsonRpcMethod("RPC.get")
|
||||||
|
Output get(String type, String id) throws JsonProcessingException;
|
||||||
|
|
||||||
|
|
||||||
|
@JsonRpcMethod("RPC.remove")
|
||||||
|
Output remove(String type, String id) throws JsonProcessingException;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -2,23 +2,77 @@ package com.loafle.rpc.api;
|
||||||
|
|
||||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
import com.googlecode.jsonrpc4j.spring.AutoJsonRpcServiceImpl;
|
import com.googlecode.jsonrpc4j.spring.AutoJsonRpcServiceImpl;
|
||||||
|
import com.loafle.rpc.crawler.Crawler;
|
||||||
import com.loafle.rpc.model.Input;
|
import com.loafle.rpc.model.Input;
|
||||||
import com.loafle.rpc.model.Output;
|
import com.loafle.rpc.model.Output;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@AutoJsonRpcServiceImpl
|
@AutoJsonRpcServiceImpl
|
||||||
public class RemoteImpl implements Remote {
|
public class RemoteImpl implements Remote {
|
||||||
|
|
||||||
|
private Map<String, Crawler> crawlerMap = null;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Output request(Input i) throws JsonProcessingException {
|
public Output init(String[] paths) throws JsonProcessingException {
|
||||||
|
|
||||||
|
for (String v : paths) {
|
||||||
|
System.out.println(v);
|
||||||
|
}
|
||||||
Output out = new Output();
|
Output out = new Output();
|
||||||
out.setStartDate(new Date());
|
out.setStartDate(new Date());
|
||||||
out.setEndDate(new Date());
|
out.setEndDate(new Date());
|
||||||
out.setData("Not Delegate".getBytes());
|
out.setData("Method init".getBytes());
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Output add(String type, String id) throws JsonProcessingException {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int addDelegate(String name, Crawler crawler) {
|
||||||
|
|
||||||
|
if(this.crawlerMap == null) {
|
||||||
|
this.crawlerMap = new HashMap<String, Crawler>();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(this.crawlerMap.containsKey(name)) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.crawlerMap.put(name, crawler);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Output get(String type, String id) throws JsonProcessingException {
|
||||||
|
|
||||||
|
Crawler crawler = this.crawlerMap.get(type);
|
||||||
|
if(crawler == null) {
|
||||||
|
System.out.println(type + "_crawler == null");
|
||||||
|
} else {
|
||||||
|
return crawler.get(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("type : " + type);
|
||||||
|
System.out.println("id : " + id);
|
||||||
|
Output out = new Output();
|
||||||
|
out.setStartDate(new Date());
|
||||||
|
out.setEndDate(new Date());
|
||||||
|
out.setData("Not Delegate".getBytes());
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Output remove(String type, String id) throws JsonProcessingException {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
34
src/main/java/com/loafle/rpc/crawler/Crawler.java
Normal file
34
src/main/java/com/loafle/rpc/crawler/Crawler.java
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
package com.loafle.rpc.crawler;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
|
|
||||||
|
import com.loafle.rpc.model.Output;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by root on 17. 4. 10.
|
||||||
|
*/
|
||||||
|
public abstract class Crawler {
|
||||||
|
|
||||||
|
public Output add(String id) throws JsonProcessingException {
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract Output get(String id) throws JsonProcessingException ;
|
||||||
|
|
||||||
|
public Output getConfig(String id) throws JsonProcessingException {
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Output init(String config) throws JsonProcessingException {
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Output remove(String id) throws JsonProcessingException {
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user