Skip to content

Commit

Permalink
rename package
Browse files Browse the repository at this point in the history
  • Loading branch information
denger committed Apr 27, 2014
1 parent c75fce9 commit 9911b76
Show file tree
Hide file tree
Showing 24 changed files with 173 additions and 93 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ __1. 加入工程依赖__

```xml
<dependency>
<groupId>org.springcn.rsf</groupId>
<groupId>org.springstack.rsf</groupId>
<artifactId>spring-rsf</artifactId>
<version>1.0.1</version>
<dependency>
Expand Down Expand Up @@ -106,7 +106,7 @@ public class ProductServiceImpl implements ProductService{

添加实现至 Spring 配置 `applicationContext.xml`,当然也可以注解(@Service)的方式声明该服务实现。
```xml
<bean class="org.springcn.rsf.example.service.ProductServiceImpl">
<bean class="org.springstack.rsf.example.service.ProductServiceImpl">
</bean>
```

Expand All @@ -124,9 +124,9 @@ __2. 将服务接口注入__
将如下配置添加至 Spring 配置文件 `applicationContext-rpc-test.xml`,将 `PorudctService` 通过 Spring 以 Bean 方式注入。

```xml
<bean id="productService" class="org.springcn.rsf.proxy.RSFClientFactoryBean">
<bean id="productService" class="org.springstack.rsf.proxy.RSFClientFactoryBean">
<!-- 指定业务服务接口 -->
<property name="serviceInterface" value="org.springcn.rsf.example.rpc.ProductService" />
<property name="serviceInterface" value="org.springstack.rsf.example.rpc.ProductService" />

<!-- HTTP Clinet 参数设置-->
<property name="connectionTimeout" value="5000" />
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'eclipse'

group = "org.springcn"
group = "org.springstack"
version = "1.0.1"
jar {
manifest {
Expand Down
2 changes: 1 addition & 1 deletion samples/HelloSpringRSF/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ repositories {
}

dependencies {
compile "org.springcn:spring-rsf:1.0.1"
compile "org.springstack:spring-rsf:1.0.1"
compile "junit:junit:4.11"
compile "net.sf.scannotation:scannotation:1.0.2"
compile "org.springframework:spring-core:3.0.5.RELEASE"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.springcn.rsf.example.dto;
package org.springstack.rsf.example.dto;

/**
* Prodct Info.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.springcn.rsf.example.rpc;
package org.springstack.rsf.example.rpc;

import java.util.List;

Expand All @@ -12,7 +12,7 @@
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;

import org.springcn.rsf.example.dto.Product;
import org.springstack.rsf.example.dto.Product;

/**
* 产品服务接口对外提供 .
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package org.springcn.rsf.example.service;
package org.springstack.rsf.example.service;

import java.util.ArrayList;
import java.util.List;

import org.springcn.rsf.example.dto.Product;
import org.springcn.rsf.example.rpc.ProductService;
import org.springstack.rsf.example.dto.Product;
import org.springstack.rsf.example.rpc.ProductService;

/**
* 产品业务实现
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd ">

<bean class="org.springcn.rsf.example.service.ProductServiceImpl" />
<bean class="org.springstack.rsf.example.service.ProductServiceImpl" />
</beans>

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
package org.springstack.rsf.example.rpc;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;

import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.URL;
import java.net.UnknownHostException;
import java.nio.channels.SocketChannel;
import java.util.List;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springstack.rsf.example.dto.Product;
import org.springstack.rsf.example.rpc.ProductService;

@ContextConfiguration(locations = "classpath:applicationContext-rpc-test.xml")
@RunWith(SpringJUnit4ClassRunner.class)
public class ProductServiceTest {

@Autowired
private ProductService productService;

@Test
public void testInvokeRpcMethod() {
Product product = productService.get(1L);
assertNotNull(product);
assertEquals(product.getId(), new Long(1L));

assertTrue(productService.delete(1L));

List<Product> products = productService.findByCategory("all");
assertTrue(products.size() > 0);
}

@Test
public void testHttpPing() throws UnknownHostException, IOException {
for(int i = 0; i < 200; i++){
// long s1 = System.currentTimeMillis();
// boolean s2 = pingByURL("http://191.2.3.2:81");
// long s3 = System.currentTimeMillis();
//
long f1 = System.currentTimeMillis();
boolean f2 = InetAddress.getByName("127.0.0.1").isReachable(10);
long f3 = System.currentTimeMillis();


System.out.println(" Socket:" + (f3-f1) + " " + f2);
}
}

public static boolean pingByURL(String URLName){
try {
HttpURLConnection.setFollowRedirects(false);
// note : you may also need
// HttpURLConnection.setInstanceFollowRedirects(false)
HttpURLConnection con =
(HttpURLConnection) new URL(URLName).openConnection();
con.setRequestMethod("HEAD");
return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
}
catch (Exception e) {
//e.printStackTrace();
return false;
}
}

public static boolean pingBySocket(String hostnameOrIP, int port) {
Socket socket = null;
boolean reachable = false;
try {
socket = new Socket(hostnameOrIP, port);
reachable = true;
}catch(Exception e){
e.printStackTrace();
}
finally {
if (socket != null) try { socket.close(); } catch(IOException e) {}
}
return reachable;
}




}
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd ">

<bean id="productService" class="org.springcn.rsf.proxy.RSFClientFactoryBean">
<bean id="productService" class="org.springstack.rsf.proxy.RSFClientFactoryBean">
<!-- 指定业务服务接口 -->
<property name="serviceInterface" value="org.springcn.rsf.example.rpc.ProductService" />
<property name="serviceInterface" value="org.springstack.rsf.example.rpc.ProductService" />

<!-- HTTP Clinet 参数设置 -->
<property name="connectionTimeout" value="5000" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.springcn.rsf;
package org.springstack.rsf;

import java.util.List;
import java.util.Timer;
Expand All @@ -7,10 +7,10 @@

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springcn.rsf.loadbalancer.AbstractLoadBalancerRule;
import org.springcn.rsf.loadbalancer.HttpPing;
import org.springcn.rsf.loadbalancer.RoundRobinRule;
import org.springcn.rsf.util.ShutdownEnabledTimer;
import org.springstack.rsf.loadbalancer.AbstractLoadBalancerRule;
import org.springstack.rsf.loadbalancer.HttpPing;
import org.springstack.rsf.loadbalancer.RoundRobinRule;
import org.springstack.rsf.util.ShutdownEnabledTimer;

/**
* RSF Servers Provider. <br/>
Expand Down Expand Up @@ -79,19 +79,41 @@ public void markServerDown(RSFServer server) {
// do something...
}

public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("{RSFProviderClass:name=").append(getClass().getName())
.append(",current list of Servers=").append(getServerList())
.append("}");
return sb.toString();
}

public abstract List<RSFServer> getServerList();

class PingTask extends TimerTask{

@Override
public void run() {
//Pinger ping = new Pinger();
Pinger ping = new Pinger();
try {
//ping.runPinger();
ping.runPinger();
} catch (Throwable t) {
logger.error("Throwable caught while running extends for ", t);
}
}

}

class Pinger {

public void runPinger(){
List<RSFServer> servers = getServerList();
for(RSFServer server : servers){
if(server == null){
continue;
}
server.setAlive(ping.isAlive(server));

markServerDown(server);
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.springcn.rsf;
package org.springstack.rsf;

import java.util.ArrayList;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.springcn.rsf;
package org.springstack.rsf;

import java.net.URI;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.springcn.rsf;
package org.springstack.rsf;

import java.util.List;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.springcn.rsf.http;
package org.springstack.rsf.http;

import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.DefaultHttpClient;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.springcn.rsf.loadbalancer;
package org.springstack.rsf.loadbalancer;

import org.springcn.rsf.RSFServer;
import org.springcn.rsf.RSFServersProvider;
import org.springstack.rsf.RSFServer;
import org.springstack.rsf.RSFServersProvider;

/**
* LB 规则实现定义,其规则实现则为一个负载均衡的策略; 如一般常见的包括有轮询或基于响应时间的策略实现。
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package org.springcn.rsf.loadbalancer;
package org.springstack.rsf.loadbalancer;

import java.net.HttpURLConnection;
import java.net.URL;

import org.springcn.rsf.RSFServer;
import org.springstack.rsf.RSFServer;


/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.springcn.rsf.loadbalancer;
package org.springstack.rsf.loadbalancer;


/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package org.springcn.rsf.loadbalancer;
package org.springstack.rsf.loadbalancer;

import java.util.List;
import java.util.Random;

import org.springcn.rsf.RSFServer;
import org.springcn.rsf.RSFServersProvider;
import org.springstack.rsf.RSFServer;
import org.springstack.rsf.RSFServersProvider;

/**
* 随机负载均衡策略实现. Non Thread-Safe.
Expand Down Expand Up @@ -41,8 +41,8 @@ public RSFServer choose(RSFServersProvider provider){
}
int index = random.nextInt(serverList.size());
server = serverList.get(index);
if(server != null){
return server;
if(server == null || !server.isAlive()){
continue;
}
}
return server;
Expand Down
Loading

0 comments on commit 9911b76

Please sign in to comment.