add
This commit is contained in:
commit
c956e59c51
74
.gitignore
vendored
Normal file
74
.gitignore
vendored
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
# Created by .ignore support plugin (hsz.mobi)
|
||||||
|
### JetBrains template
|
||||||
|
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
|
||||||
|
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||||
|
|
||||||
|
# User-specific stuff:
|
||||||
|
.idea/workspace.xml
|
||||||
|
.idea/tasks.xml
|
||||||
|
|
||||||
|
# Sensitive or high-churn files:
|
||||||
|
.idea/dataSources/
|
||||||
|
.idea/dataSources.ids
|
||||||
|
.idea/dataSources.xml
|
||||||
|
.idea/dataSources.local.xml
|
||||||
|
.idea/sqlDataSources.xml
|
||||||
|
.idea/dynamic.xml
|
||||||
|
.idea/uiDesigner.xml
|
||||||
|
|
||||||
|
# Gradle:
|
||||||
|
.idea/gradle.xml
|
||||||
|
.idea/libraries
|
||||||
|
|
||||||
|
# Mongo Explorer plugin:
|
||||||
|
.idea/mongoSettings.xml
|
||||||
|
|
||||||
|
## File-based project format:
|
||||||
|
*.iws
|
||||||
|
|
||||||
|
## Plugin-specific files:
|
||||||
|
|
||||||
|
# IntelliJ
|
||||||
|
/out/
|
||||||
|
|
||||||
|
# mpeltonen/sbt-idea plugin
|
||||||
|
.idea_modules/
|
||||||
|
|
||||||
|
# JIRA plugin
|
||||||
|
atlassian-ide-plugin.xml
|
||||||
|
|
||||||
|
# Crashlytics plugin (for Android Studio and IntelliJ)
|
||||||
|
com_crashlytics_export_strings.xml
|
||||||
|
crashlytics.properties
|
||||||
|
crashlytics-build.properties
|
||||||
|
fabric.properties
|
||||||
|
### Maven template
|
||||||
|
target/
|
||||||
|
pom.xml.tag
|
||||||
|
pom.xml.releaseBackup
|
||||||
|
pom.xml.versionsBackup
|
||||||
|
pom.xml.next
|
||||||
|
release.properties
|
||||||
|
dependency-reduced-pom.xml
|
||||||
|
buildNumber.properties
|
||||||
|
.mvn/timing.properties
|
||||||
|
|
||||||
|
# Exclude maven wrapper
|
||||||
|
!/.mvn/wrapper/maven-wrapper.jar
|
||||||
|
### Java template
|
||||||
|
*.class
|
||||||
|
|
||||||
|
# BlueJ files
|
||||||
|
*.ctxt
|
||||||
|
|
||||||
|
# Mobile Tools for Java (J2ME)
|
||||||
|
.mtj.tmp/
|
||||||
|
|
||||||
|
# Package Files #
|
||||||
|
*.jar
|
||||||
|
*.war
|
||||||
|
*.ear
|
||||||
|
|
||||||
|
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
|
||||||
|
hs_err_pid*
|
||||||
|
|
44
pom.xml
Normal file
44
pom.xml
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<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/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<groupId>com</groupId>
|
||||||
|
<artifactId>loafle.rpc</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
<avro.version>1.8.1</avro.version>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-parent</artifactId>
|
||||||
|
<version>1.5.2.RELEASE</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-web</artifactId>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-tomcat</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.github.briandilley.jsonrpc4j</groupId>
|
||||||
|
<artifactId>jsonrpc4j</artifactId>
|
||||||
|
<version>1.5.0</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-jetty</artifactId>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
</project>
|
11
src/main/java/com/loafle/rpc/Application.java
Normal file
11
src/main/java/com/loafle/rpc/Application.java
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
package com.loafle.rpc;
|
||||||
|
|
||||||
|
import org.springframework.boot.SpringApplication;
|
||||||
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
|
|
||||||
|
@SpringBootApplication
|
||||||
|
public class Application {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
SpringApplication.run(Application.class, args);
|
||||||
|
}
|
||||||
|
}
|
15
src/main/java/com/loafle/rpc/ApplicationConfig.java
Normal file
15
src/main/java/com/loafle/rpc/ApplicationConfig.java
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
package com.loafle.rpc;
|
||||||
|
|
||||||
|
import com.googlecode.jsonrpc4j.spring.AutoJsonRpcServiceImplExporter;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
|
@Configuration
|
||||||
|
public class ApplicationConfig {
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
public static AutoJsonRpcServiceImplExporter autoJsonRpcServiceImplExporter() {
|
||||||
|
AutoJsonRpcServiceImplExporter exp = new AutoJsonRpcServiceImplExporter();
|
||||||
|
return exp;
|
||||||
|
}
|
||||||
|
}
|
14
src/main/java/com/loafle/rpc/api/Remote.java
Normal file
14
src/main/java/com/loafle/rpc/api/Remote.java
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
package com.loafle.rpc.api;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
|
import com.googlecode.jsonrpc4j.JsonRpcMethod;
|
||||||
|
import com.googlecode.jsonrpc4j.JsonRpcService;
|
||||||
|
import com.loafle.rpc.model.Input;
|
||||||
|
import com.loafle.rpc.model.Output;
|
||||||
|
|
||||||
|
|
||||||
|
@JsonRpcService("/rpc")
|
||||||
|
public interface Remote {
|
||||||
|
@JsonRpcMethod("Remote.Request")
|
||||||
|
Output request(Input t) throws JsonProcessingException;
|
||||||
|
}
|
24
src/main/java/com/loafle/rpc/api/RemoteImpl.java
Normal file
24
src/main/java/com/loafle/rpc/api/RemoteImpl.java
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
package com.loafle.rpc.api;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||||
|
import com.googlecode.jsonrpc4j.spring.AutoJsonRpcServiceImpl;
|
||||||
|
import com.loafle.rpc.model.Input;
|
||||||
|
import com.loafle.rpc.model.Output;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
@AutoJsonRpcServiceImpl
|
||||||
|
public class RemoteImpl implements Remote {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Output request(Input i) throws JsonProcessingException {
|
||||||
|
Output out = new Output();
|
||||||
|
out.setStartDate(new Date());
|
||||||
|
out.setEndDate(new Date());
|
||||||
|
out.setData("Not Delegate".getBytes());
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
34
src/main/java/com/loafle/rpc/model/Input.java
Normal file
34
src/main/java/com/loafle/rpc/model/Input.java
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
package com.loafle.rpc.model;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by root on 17. 4. 6.
|
||||||
|
*/
|
||||||
|
public class Input {
|
||||||
|
private String ip;
|
||||||
|
private String port;
|
||||||
|
private byte[] Data;
|
||||||
|
|
||||||
|
public String getIp() {
|
||||||
|
return ip;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIp(String ip) {
|
||||||
|
this.ip = ip;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPort() {
|
||||||
|
return port;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPort(String port) {
|
||||||
|
this.port = port;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] getData() {
|
||||||
|
return Data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setData(byte[] data) {
|
||||||
|
Data = data;
|
||||||
|
}
|
||||||
|
}
|
36
src/main/java/com/loafle/rpc/model/Output.java
Normal file
36
src/main/java/com/loafle/rpc/model/Output.java
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
package com.loafle.rpc.model;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by root on 17. 4. 6.
|
||||||
|
*/
|
||||||
|
public class Output {
|
||||||
|
private Date startDate;
|
||||||
|
private Date endDate;
|
||||||
|
private byte[] data;
|
||||||
|
|
||||||
|
public Date getStartDate() {
|
||||||
|
return startDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStartDate(Date startDate) {
|
||||||
|
this.startDate = startDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getEndDate() {
|
||||||
|
return endDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEndDate(Date endDate) {
|
||||||
|
this.endDate = endDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public byte[] getData() {
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setData(byte[] data) {
|
||||||
|
this.data = data;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user