Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
4580fc5
update
kimmking Nov 4, 2020
a19fa69
udpate 0302
kimmking Nov 5, 2020
5762222
update 0302
kimmking Nov 5, 2020
e2097ab
update 0303
kimmking Nov 6, 2020
5080e60
add homework 0303
kimmking Nov 6, 2020
46835e7
add homework 0303
kimmking Nov 6, 2020
436102c
update 0303
kimmking Nov 7, 2020
524adb2
Create homework2.0.md
kimmking Nov 11, 2020
5f15b4a
Update homework2.0.md
kimmking Nov 11, 2020
b9bd39e
update spring01
kimmking Nov 12, 2020
8ed0787
Merge branch 'main' of https://github.com/kimmking/JavaCourseCodes in…
kimmking Nov 12, 2020
7e46a63
一二三周作业简单示例
renfufei Nov 12, 2020
60d2f74
第3周作业简单实现
renfufei Nov 12, 2020
deb84b8
update 4.1
kimmking Nov 12, 2020
4ec3317
Merge branch 'main' of https://github.com/kimmking/JavaCourseCodes in…
kimmking Nov 12, 2020
3e3e698
add spring boot
kimmking Nov 14, 2020
ae4a252
update
kimmking Nov 17, 2020
45d3bf2
update java8
kimmking Nov 19, 2020
49da3e2
remove target
kimmking Nov 19, 2020
6d921f5
update
kimmking Dec 7, 2020
3a852c8
add rpc
kimmking Dec 12, 2020
d360a51
complete
kimmking Dec 12, 2020
714088e
update homeworks
kimmking Dec 12, 2020
ef939af
refactoring for fx and biz
kimmking Dec 12, 2020
7fc6668
update dubbo demo
kimmking Dec 12, 2020
02c958a
update
kimmking Dec 17, 2020
c163ed9
add zk
kimmking Dec 18, 2020
cde9d3a
update comment
kimmking Dec 18, 2020
6338a8f
add cache for mybatis
kimmking Dec 27, 2020
4768759
update
kimmking Dec 27, 2020
11a72bd
update
kimmking Dec 28, 2020
d5a8f4a
add sql
kimmking Dec 28, 2020
badd48d
update
kimmking Dec 28, 2020
8e18480
update 23
kimmking Dec 30, 2020
014efe3
update redission
kimmking Dec 30, 2020
45e80a8
update
kimmking Dec 30, 2020
24aff72
udpate
kimmking Dec 30, 2020
bb818e2
update
kimmking Dec 30, 2020
25a4ab5
update
kimmking Jan 7, 2021
d9d3590
update
kimmking Jan 7, 2021
8c2e70a
update
kimmking Jan 9, 2021
6da62e9
update
kimmking Jan 9, 2021
e78e6c1
udpate
kimmking Jan 9, 2021
8c88059
add mq 01
kimmking Jan 10, 2021
9562ea0
add README
kimmking Jan 10, 2021
72edf3a
udpate
kimmking Jan 10, 2021
5ccaac9
add mq demo
kimmking Jan 14, 2021
a279778
update
kimmking Jan 14, 2021
9a30cc5
add rocketmq demo
kimmking Jan 14, 2021
dbd14b1
add netty demo
kimmking Jan 17, 2021
6058224
add router for gateway
kimmking Jan 20, 2021
3809b42
update backend
kimmking Jan 20, 2021
b63161e
update
kimmking Jan 20, 2021
4f4ed28
update
kimmking Jan 20, 2021
ee52288
add response filter
kimmking Jan 20, 2021
bf86c46
update TestAddUrl
kimmking Jan 21, 2021
b01f882
update
kimmking Jan 24, 2021
502df42
update
kimmking Jan 24, 2021
2cd9ac8
udpate childOption
kimmking Jan 24, 2021
f3f6632
update
kimmking Jan 24, 2021
68af61f
update
kimmking Jan 28, 2021
01903e4
update
kimmking Feb 3, 2021
fa2aa23
add BeanPostProcessor
kimmking Feb 3, 2021
b26bd71
update
kimmking Feb 10, 2021
8eefc19
update homework2.0
kimmking Feb 17, 2021
36f9176
update homework2.0
kimmking Feb 17, 2021
672a304
update homework2.0
kimmking Feb 17, 2021
0d2545f
第1周-作业1(选做)
renfufei Apr 24, 2021
53e84fc
第一周 - 作业3(必做)
renfufei Apr 25, 2021
0b8b5ca
第一周 - 作业4.(选做)
renfufei Apr 25, 2021
57f0b79
第一周-作业5.(选做)
renfufei Apr 25, 2021
a2e6c0c
GCLogAnalysis
renfufei Apr 25, 2021
4837b4e
更多资料
renfufei Apr 27, 2021
5339cb7
第二周-作业6.(必做)
renfufei May 16, 2021
155f2b5
Week02 作业
renfufei May 16, 2021
201be61
update
kimmking Jun 21, 2021
ec84c8d
fix -Xms512 to -Xms512m
loodeer Jun 22, 2021
dccd797
Merge pull request #17 from loodeer/patch-1
kimmking Jun 25, 2021
6943786
部分: 第7周作业-第8周作业
renfufei Sep 19, 2021
21f061f
第七周-作业2- 部分
renfufei Sep 22, 2021
99903cc
add fastdfs
kimmking Mar 5, 2022
9a9fec6
Merge branch 'gmain' into main
kimmking Mar 6, 2022
b424f7f
add fastdfs
kimmking Mar 5, 2022
7017134
add dtx01
kimmking Mar 23, 2022
8b854ed
Merge branch 'main' into gmain
kimmking Mar 23, 2022
ad0fa06
move
renfufei Apr 3, 2022
95dcfbb
Create 作业注意事项.md
renfufei Sep 8, 2022
647cc63
add some test codes
kimmking Oct 2, 2022
4f8c3c6
add some test codes
kimmking Oct 2, 2022
be5d0d2
update rpc02 and add spring04
kimmking Oct 21, 2022
b0f2bc7
Merge branch 'main' into gmain
kimmking Oct 21, 2022
ccd1eb5
valiate jdbc generated keys when insert into on duplicate key update …
kimmking Oct 21, 2022
588dc3f
polish jvm demo
kimmking Oct 29, 2022
e05c096
add xlass
kimmking Oct 29, 2022
aebe322
update
kimmking Oct 29, 2022
2ea655a
add hello method
kimmking Oct 30, 2022
9e7c762
add comments
kimmking Oct 30, 2022
962bd12
add JOL demo
kimmking Oct 30, 2022
45cf133
update
kimmking Nov 18, 2022
a378db1
add multiple beans registrar
kimmking Nov 29, 2022
e84d39f
add registrar
kimmking Dec 23, 2022
6ebd3b2
complete registy for zk
kimmking Jan 1, 2024
c6a07a3
remove some sout
kimmking Jan 1, 2024
8d5ea10
remove some sout
kimmking Jan 1, 2024
8afa0eb
remove some sout
kimmking Jan 1, 2024
42fe0c8
add connectionPool
kimmking Jan 12, 2024
04090c9
refactor RPC and Registry
kimmking Jan 13, 2024
c7c24d0
compelet kk registry integration
kimmking Apr 14, 2024
beddc69
update some config
kimmking Apr 14, 2024
ef42a2b
polish codes
kimmking Apr 15, 2024
9f00f9e
add file store
kimmking Jun 25, 2024
58bb7d3
update ignore
kimmking Jun 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
complete
  • Loading branch information
kimmking committed Dec 12, 2020
commit d360a518ec3ddef629a5c7b23fb2490a72a6c2bb
9 changes: 0 additions & 9 deletions 07rpc/rpc01/rpcfx-api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,4 @@
<java.version>1.8</java.version>
</properties>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package io.kimmking.rpcfx.api;

public class RpcfxRequest {

private String serviceClass;

private String method;

private Object[] params;

public String getServiceClass() {
return serviceClass;
}

public void setServiceClass(String serviceClass) {
this.serviceClass = serviceClass;
}

public String getMethod() {
return method;
}

public void setMethod(String method) {
this.method = method;
}

public Object[] getParams() {
return params;
}

public void setParams(Object[] params) {
this.params = params;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package io.kimmking.rpcfx.api;

public class RpcfxResponse {

private Object result;
private boolean status;
private Exception exception;

public Object getResult() {
return result;
}

public void setResult(Object result) {
this.result = result;
}

public boolean isStatus() {
return status;
}

public void setStatus(boolean status) {
this.status = status;
}

public Exception getException() {
return exception;
}

public void setException(Exception exception) {
this.exception = exception;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@

public class User {

public User(){}

public User(int id, String name) {
this.id = id;
this.name = name;
}

private int id;
private String name;

Expand Down
12 changes: 12 additions & 0 deletions 07rpc/rpc01/rpcfx-client/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,18 @@
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.70</version>
</dependency>

<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.12.2</version>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package io.kimmking.rpcfx.client;


import com.alibaba.fastjson.JSON;
import io.kimmking.rpcfx.api.RpcfxRequest;
import io.kimmking.rpcfx.api.RpcfxResponse;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;

import java.io.IOException;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

public class Rpcfx {
public static <T> T create(final Class<T> serviceClass, final String url) {

return (T) Proxy.newProxyInstance(Rpcfx.class.getClassLoader(), new Class[]{serviceClass}, new RpcfxInvocationHandler(serviceClass, url));

}

public static class RpcfxInvocationHandler implements InvocationHandler {

public static final MediaType JSONTYPE = MediaType.get("application/json; charset=utf-8");


private final Class<?> serviceClass;
private final String url;
public <T> RpcfxInvocationHandler(Class<T> serviceClass, String url) {
this.serviceClass = serviceClass;
this.url = url;
}

@Override
public Object invoke(Object proxy, Method method, Object[] params) throws Throwable {
RpcfxRequest request = new RpcfxRequest();
request.setServiceClass(this.serviceClass.getName());
request.setMethod(method.getName());
request.setParams(params);

RpcfxResponse response = post(request, url);
return JSON.parse(response.getResult().toString());
}

private RpcfxResponse post(RpcfxRequest req, String url) throws IOException {
String reqJson = JSON.toJSONString(req);
OkHttpClient client = new OkHttpClient();
final Request request = new Request.Builder()
.url(url)
.post(RequestBody.create(JSONTYPE, reqJson))
.build();
String respJson = client.newCall(request).execute().body().string();
return JSON.parseObject(respJson, RpcfxResponse.class);
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package io.kimmking.rpcfx.client;

import com.alibaba.fastjson.parser.ParserConfig;
import io.kimmking.rpcfx.api.User;
import io.kimmking.rpcfx.api.UserService;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class RpcfxClientApplication {

static {
ParserConfig.getGlobalInstance().addAccept("io.kimmking");
}

public static void main(String[] args) {

UserService service = Rpcfx.create(UserService.class, "http://localhost:8080/");
User user = service.findById(1);
System.out.println("find user id=1 from server: " + user.getName());

// SpringApplication.run(RpcfxClientApplication.class, args);
}

}

This file was deleted.

4 changes: 2 additions & 2 deletions 07rpc/rpc01/rpcfx-client/src/main/resources/application.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
server:
port: 8080
#server:
# port: 8080
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
//package io.kimmking.springboot01;
//
//import org.junit.Test;
//import org.springframework.boot.test.context.SpringBootTest;
//
//@SpringBootTest
//class Springboot01ApplicationTests {
//
// @Test
// void contextLoads() {
// }
//
//}

This file was deleted.

6 changes: 6 additions & 0 deletions 07rpc/rpc01/rpcfx-server/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,12 @@
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.70</version>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
package io.kimmking.rpcfx.server;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import io.kimmking.rpcfx.api.RpcfxRequest;
import io.kimmking.rpcfx.api.RpcfxResponse;
import io.kimmking.rpcfx.api.User;
import io.kimmking.rpcfx.api.UserService;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.annotation.Bean;
import org.springframework.util.ReflectionUtils;
import org.springframework.web.bind.annotation.*;

@SpringBootApplication
@RestController
public class RpcfxServerApplication implements ApplicationContextAware {

private ApplicationContext applicationContext;

@Override
public void setApplicationContext(ApplicationContext applicationContext) {
this.applicationContext = applicationContext;
}

public static void main(String[] args) {
SpringApplication.run(RpcfxServerApplication.class, args);
}

@PostMapping("/")
public RpcfxResponse call(@RequestBody RpcfxRequest request) {

String serviceClass = request.getServiceClass();
// 作业1:改成泛型和反射
UserService service = (UserService) this.applicationContext.getBean(serviceClass);
int id = Integer.parseInt(request.getParams()[0].toString());
Object result = service.findById(id);
RpcfxResponse response = new RpcfxResponse();
response.setResult(JSON.toJSONString(result, SerializerFeature.WriteClassName));
response.setStatus(true);
return response;
}

@Bean(name = "io.kimmking.rpcfx.api.UserService")
public UserService create(){
return new UserServiceImpl();
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package io.kimmking.rpcfx.server;

import io.kimmking.rpcfx.api.User;
import io.kimmking.rpcfx.api.UserService;

public class UserServiceImpl implements UserService {

@Override
public User findById(int id) {
return new User(id, "KK" + System.currentTimeMillis());
}
}

This file was deleted.