Skip to content

Commit a5d784e

Browse files
committed
update version
1 parent 040b1b7 commit a5d784e

File tree

24 files changed

+112
-209
lines changed

24 files changed

+112
-209
lines changed

ikasoa-core/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>com.ikasoa</groupId>
55
<artifactId>ikasoa-core</artifactId>
6-
<version>0.5.4-ALPHA</version>
6+
<version>0.5.4</version>
77
<packaging>jar</packaging>
88
<name>Ikasoa Core</name>
99
<description>ikasoa is a java distributed service framework.</description>

ikasoa-core/src/main/java/com/ikasoa/core/loadbalance/impl/ConsistencyHashLoadBalanceImpl.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import com.ikasoa.core.loadbalance.ServerInfo;
1515
import com.ikasoa.core.utils.StringUtil;
1616

17+
import lombok.NoArgsConstructor;
1718
import lombok.SneakyThrows;
1819

1920
/**
@@ -22,6 +23,7 @@
2223
* @author <a href="mailto:larry7696@gmail.com">Larry</a>
2324
* @version 0.5
2425
*/
26+
@NoArgsConstructor
2527
public class ConsistencyHashLoadBalanceImpl implements LoadBalance {
2628

2729
private TreeMap<Long, ServerInfo> nodes = null;

ikasoa-core/src/main/java/com/ikasoa/core/loadbalance/impl/PollingLoadBalanceImpl.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.ikasoa.core.loadbalance.ServerInfo;
88
import com.ikasoa.core.utils.StringUtil;
99

10+
import lombok.NoArgsConstructor;
1011
import lombok.extern.slf4j.Slf4j;
1112

1213
/**
@@ -15,6 +16,7 @@
1516
* @author <a href="mailto:larry7696@gmail.com">Larry</a>
1617
* @version 0.1
1718
*/
19+
@NoArgsConstructor
1820
@Slf4j
1921
public class PollingLoadBalanceImpl implements LoadBalance {
2022

ikasoa-core/src/main/java/com/ikasoa/core/loadbalance/impl/RandomLoadBalanceImpl.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.ikasoa.core.loadbalance.LoadBalance;
88
import com.ikasoa.core.loadbalance.ServerInfo;
99

10+
import lombok.NoArgsConstructor;
1011
import lombok.extern.slf4j.Slf4j;
1112

1213
/**
@@ -15,6 +16,7 @@
1516
* @author <a href="mailto:larry7696@gmail.com">Larry</a>
1617
* @version 0.1
1718
*/
19+
@NoArgsConstructor
1820
@Slf4j
1921
public class RandomLoadBalanceImpl implements LoadBalance {
2022

ikasoa-core/src/main/java/com/ikasoa/core/thrift/Factory.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -169,25 +169,24 @@ public interface Factory {
169169
*
170170
* @param serverInfoList
171171
* 服务器信息列表
172-
* @param loadBalanceClass
172+
* @param loadBalance
173173
* 负载均衡实现类
174174
* @return ThriftClient Thrift客户端
175175
*/
176-
public ThriftClient getThriftClient(List<ServerInfo> serverInfoList, Class<LoadBalance> loadBalanceClass);
176+
public ThriftClient getThriftClient(List<ServerInfo> serverInfoList, LoadBalance loadBalance);
177177

178178
/**
179179
* 获取带负载均衡的ThriftClient对象
180180
*
181181
* @param serverInfoList
182182
* 服务器信息列表
183-
* @param loadBalanceClass
183+
* @param loadBalance
184184
* 负载均衡实现类
185185
* @param param
186186
* 负载均衡实现参数
187187
* @return ThriftClient Thrift客户端
188188
*/
189-
public ThriftClient getThriftClient(List<ServerInfo> serverInfoList, Class<LoadBalance> loadBalanceClass,
190-
String param);
189+
public ThriftClient getThriftClient(List<ServerInfo> serverInfoList, LoadBalance loadBalance, String param);
191190

192191
/**
193192
* 获取客户端Service对象

ikasoa-core/src/main/java/com/ikasoa/core/thrift/GeneralFactory.java

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import com.ikasoa.core.IkasoaException;
1515
import com.ikasoa.core.loadbalance.LoadBalance;
1616
import com.ikasoa.core.loadbalance.ServerInfo;
17+
import com.ikasoa.core.loadbalance.impl.PollingLoadBalanceImpl;
1718
import com.ikasoa.core.thrift.client.AsyncMultiplexedProtocolFactory;
1819
import com.ikasoa.core.thrift.client.ThriftClient;
1920
import com.ikasoa.core.thrift.client.ThriftClientConfiguration;
@@ -54,11 +55,11 @@ public class GeneralFactory implements Factory {
5455
* 客户端配置
5556
*/
5657
protected ThriftClientConfiguration thriftClientConfiguration = new ThriftClientConfiguration();
57-
58+
5859
/**
5960
* 默认负载均衡实现
6061
*/
61-
private static final String DEFAULT_LOAD_BALANCE_CLASS_NAME = "com.ikasoa.core.loadbalance.impl.PollingLoadBalanceImpl";
62+
private static final LoadBalance DEFAULT_LOAD_BALANCE = new PollingLoadBalanceImpl();
6263

6364
public GeneralFactory(ThriftServerConfiguration thriftServerConfiguration) {
6465
this.thriftServerConfiguration = thriftServerConfiguration;
@@ -160,16 +161,13 @@ public ThriftClient getThriftClient(String serverHost, int serverPort) {
160161
* 获取带负载均衡的ThriftClient对象
161162
*/
162163
@Override
163-
@SneakyThrows
164-
@SuppressWarnings({ "rawtypes", "unchecked" })
165164
public ThriftClient getThriftClient(List<ServerInfo> serverInfoList) {
166-
Class cls = Class.forName(DEFAULT_LOAD_BALANCE_CLASS_NAME);
167-
return getThriftClient(serverInfoList, cls);
165+
return getThriftClient(serverInfoList, DEFAULT_LOAD_BALANCE);
168166
}
169167

170168
@Override
171-
public ThriftClient getThriftClient(List<ServerInfo> serverInfoList, Class<LoadBalance> loadBalanceClass) {
172-
return getThriftClient(serverInfoList, loadBalanceClass, null);
169+
public ThriftClient getThriftClient(List<ServerInfo> serverInfoList, LoadBalance loadBalance) {
170+
return getThriftClient(serverInfoList, loadBalance, null);
173171
}
174172

175173
/**
@@ -178,12 +176,11 @@ public ThriftClient getThriftClient(List<ServerInfo> serverInfoList, Class<LoadB
178176
@Override
179177
@SneakyThrows
180178
@SuppressWarnings("rawtypes")
181-
public ThriftClient getThriftClient(List<ServerInfo> serverInfoList, Class<LoadBalance> loadBalanceClass,
182-
String param) {
179+
public ThriftClient getThriftClient(List<ServerInfo> serverInfoList, LoadBalance loadBalance, String param) {
183180
Class[] paramTypes = { List.class, String.class };
184181
Object[] params = { serverInfoList, param };
185182
return new LoadBalanceThriftClientImpl(
186-
(LoadBalance) loadBalanceClass.getConstructor(paramTypes).newInstance(params),
183+
(LoadBalance) loadBalance.getClass().getConstructor(paramTypes).newInstance(params),
187184
thriftClientConfiguration);
188185
}
189186

ikasoa-core/src/test/java/com/ikasoa/core/thrift/client/ClientTest.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,9 @@ public void testLoadBalanceThriftClientImpl() {
6060
String serverHost2 = "127.0.0.1";
6161
int serverPort2 = 29002;
6262
serverInfoList.add(new ServerInfo(serverHost2, serverPort2));
63-
@SuppressWarnings("rawtypes")
64-
Class cls = Class.forName("com.ikasoa.core.loadbalance.impl.PollingLoadBalanceImpl");
6563
@Cleanup
66-
@SuppressWarnings("unchecked")
6764
ThriftClient loadBalanceThriftClient2 = new GeneralFactory(configuration).getThriftClient(serverInfoList,
68-
cls);
65+
new PollingLoadBalanceImpl());
6966
loadBalanceThriftClient2.getTransport();
7067
assertEquals(loadBalanceThriftClient2.getServerHost(), serverHost1);
7168
assertEquals(loadBalanceThriftClient2.getServerPort(), serverPort1);

ikasoa-rpc/README.md

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ Maven
2525
<dependency>
2626
<groupId>com.ikasoa</groupId>
2727
<artifactId>ikasoa-rpc</artifactId>
28-
<version>0.3.3-ALPHA2</version>
28+
<version>0.3.3-BETA</version>
2929
</dependency>
3030
......
3131
```
3232

3333
Gradle
3434

3535
```
36-
compile group: 'com.ikasoa', name: 'ikasoa-rpc', version: '0.3.3-ALPHA2'
36+
compile group: 'com.ikasoa', name: 'ikasoa-rpc', version: '0.3.3-BETA'
3737
```
3838

3939

@@ -48,15 +48,15 @@ Maven
4848
<dependency>
4949
<groupId>com.ikasoa</groupId>
5050
<artifactId>ikasoa-core</artifactId>
51-
<version>0.5.4-ALPHA</version>
51+
<version>0.5.4</version>
5252
</dependency>
5353
......
5454
```
5555

5656
Gradle
5757

5858
```
59-
compile group: 'com.ikasoa', name: 'ikasoa-core', version: '0.5.4-ALPHA'
59+
compile group: 'com.ikasoa', name: 'ikasoa-core', version: '0.5.4'
6060
```
6161

6262
## HelloWorld ##
@@ -485,8 +485,7 @@ web.xml
485485
......
486486
XService xs = new DefaultIkasoaFactory().getInstance(XService.class, new ServerInfoWrapper(serverInfoList));
487487
// 也可以写为如下方式:
488-
// Class loadBalanceClass = Class.forName("com.ikasoa.core.loadbalance.impl.PollingLoadBalanceImpl");
489-
// XService xs = new DefaultIkasoaFactory().getInstance(XService.class, new ServerInfoWrapper(serverInfoList, loadBalanceClass));
488+
// XService xs = new DefaultIkasoaFactory().getInstance(XService.class, new ServerInfoWrapper(serverInfoList, new PollingLoadBalanceImpl()));
490489
......
491490
```
492491

@@ -496,8 +495,7 @@ web.xml
496495

497496
```java
498497
......
499-
Class loadBalanceClass = Class.forName("com.ikasoa.core.loadbalance.impl.RandomLoadBalanceImpl");
500-
XService xs = new DefaultIkasoaFactory().getInstance(XService.class, new ServerInfoWrapper(serverInfoList, loadBalanceClass));
498+
XService xs = new DefaultIkasoaFactory().getInstance(XService.class, new ServerInfoWrapper(serverInfoList, new RandomLoadBalanceImpl()));
501499
......
502500
```
503501

@@ -511,8 +509,7 @@ web.xml
511509

512510
```java
513511
......
514-
Class loadBalanceClass = Class.forName("com.xxx.XLoadBalanceImpl");
515-
XService xs = new DefaultIkasoaFactory().getInstance(XService.class, new ServerInfoWrapper(serverInfoList, loadBalanceClass));
512+
XService xs = new DefaultIkasoaFactory().getInstance(XService.class, new ServerInfoWrapper(serverInfoList, new com.xxx.XLoadBalanceImpl()));
516513
......
517514
```
518515

@@ -578,26 +575,23 @@ web.xml
578575
......
579576
IkasoaFactory ikasoaFactory = new DefaultIkasoaFactory();
580577
// 也可以写为如下方式:
581-
// Class protocolHandlerClass = Class.forName("com.ikasoa.rpc.handler.impl.JsonProtocolHandlerImpl");
582-
// IkasoaFactory ikasoaFactory = new DefaultIkasoaFactory(new Configurator(protocolHandlerClass));
578+
// IkasoaFactory ikasoaFactory = new DefaultIkasoaFactory(new Configurator(new JsonProtocolHandlerImpl<>()));
583579
......
584580
```
585581

586582
##### 使用xml作为序列化方式 #####
587583

588584
```java
589585
......
590-
Class protocolHandlerClass = Class.forName("com.ikasoa.rpc.handler.impl.XmlProtocolHandlerImpl");
591-
IkasoaFactory ikasoaFactory = new DefaultIkasoaFactory(new Configurator(protocolHandlerClass));
586+
IkasoaFactory ikasoaFactory = new DefaultIkasoaFactory(new Configurator(new XmlProtocolHandlerImpl<>()));
592587
......
593588
```
594589

595590
##### 使用kryo作为序列化方式 #####
596591

597592
```java
598593
......
599-
Class protocolHandlerClass = Class.forName("com.ikasoa.rpc.handler.impl.KryoProtocolHandlerImpl");
600-
IkasoaFactory ikasoaFactory = new DefaultIkasoaFactory(new Configurator(protocolHandlerClass));
594+
IkasoaFactory ikasoaFactory = new DefaultIkasoaFactory(new Configurator(new KryoProtocolHandlerImpl<>()));
601595
......
602596
```
603597

@@ -611,8 +605,7 @@ web.xml
611605

612606
```java
613607
......
614-
Class protocolHandlerClass = Class.forName("com.xx.XProtocolHandlerImpl");
615-
IkasoaFactory ikasoaFactory = new DefaultIkasoaFactory(new Configurator(protocolHandlerClass));
608+
IkasoaFactory ikasoaFactory = new DefaultIkasoaFactory(new Configurator(new com.xxx.XProtocolHandlerImpl<>()));
616609
......
617610
```
618611

ikasoa-rpc/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>com.ikasoa</groupId>
55
<artifactId>ikasoa-rpc</artifactId>
6-
<version>0.3.3-ALPHA2</version>
6+
<version>0.3.3-BETA</version>
77
<packaging>jar</packaging>
88
<name>Ikasoa RPC</name>
99
<description>ikasoa-rpc is a high performance RPC(Remote Procedure Call) framework.</description>
@@ -121,7 +121,7 @@
121121
<dependency>
122122
<groupId>com.ikasoa</groupId>
123123
<artifactId>ikasoa-core</artifactId>
124-
<version>0.5.4-ALPHA</version>
124+
<version>0.5.4</version>
125125
</dependency>
126126
<dependency>
127127
<groupId>io.netty</groupId>

ikasoa-rpc/src/main/java/com/ikasoa/rpc/BaseGetServiceFactory.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@ public class BaseGetServiceFactory<T, R> extends GeneralFactory {
2828

2929
@Getter
3030
@Setter
31-
@SuppressWarnings("rawtypes")
32-
private Class<ProtocolHandler> protocolHandlerClass;
31+
private ProtocolHandler<?, ?> protocolHandler;
3332

3433
@Getter
3534
@Setter
@@ -50,7 +49,7 @@ public BaseGetServiceFactory(ThriftServerConfiguration thriftServerConfiguration
5049

5150
public BaseGetService<T, R> getBaseGetService(ThriftClient thriftClient, String serviceKey, ReturnData resultData) {
5251
return getBaseGetService(thriftClient, serviceKey,
53-
protocolHandlerFactory.getProtocolHandler(resultData, getProtocolHandlerClass()));
52+
protocolHandlerFactory.getProtocolHandler(resultData, getProtocolHandler()));
5453
}
5554

5655
public BaseGetService<T, R> getBaseGetService(ThriftClient thriftClient, String serviceKey,

ikasoa-rpc/src/main/java/com/ikasoa/rpc/Configurator.java

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ public class Configurator {
3636
/**
3737
* 转换协议实现类
3838
*/
39-
@SuppressWarnings("rawtypes")
40-
private Class<ProtocolHandler> protocolHandlerClass;
39+
private ProtocolHandler<?, ?> protocolHandler;
4140

4241
/**
4342
* 客户端调用拦截器
@@ -53,15 +52,13 @@ public Configurator(ServerInfoWrapper serverInfoWrapper) {
5352
this.serverInfoWrapper = serverInfoWrapper;
5453
}
5554

56-
@SuppressWarnings("rawtypes")
57-
public Configurator(Class<ProtocolHandler> protocolHandlerClass) {
58-
this.protocolHandlerClass = protocolHandlerClass;
55+
public Configurator(ProtocolHandler<?, ?> protocolHandler) {
56+
this.protocolHandler = protocolHandler;
5957
}
6058

61-
@SuppressWarnings("rawtypes")
62-
public Configurator(ServerInfoWrapper serverInfoWrapper, Class<ProtocolHandler> protocolHandlerClass) {
59+
public Configurator(ServerInfoWrapper serverInfoWrapper, ProtocolHandler<?, ?> protocolHandler) {
6360
this.serverInfoWrapper = serverInfoWrapper;
64-
this.protocolHandlerClass = protocolHandlerClass;
61+
this.protocolHandler = protocolHandler;
6562
}
6663

6764
}

0 commit comments

Comments
 (0)