package com.kelvin.test;
import net.sf.json.JSONObject;
import org.apache.commons.io.FileUtils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.http.HttpMethod;
import org.springframework.http.client.ClientHttpRequest;
import org.springframework.http.client.ClientHttpResponse;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.io.*;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Iterator;
import java.util.Random;
import java.util.concurrent.TimeUnit;
/**
* 测试Redis的使用,主要是用的是Spring Data Redis(SDR)
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({
/*"classpath:conf-spring/spring-dao.xml",*/
"classpath:springRedis.xml"
})
public class TestJedis {
@Autowired
private RedisTemplate<String, Object> template;
@Test
public void sample() {
template.opsForZSet().add("test_liukun3", 1,1);
template.opsForZSet().add("test_liukun3", 3,2);
template.opsForZSet().add("test_liukun3", 2,3);
template.opsForZSet().add("test_liukun3", -1,4);
Iterator it = template.opsForZSet().range("test_liukun3", 0,5).iterator();
/*template.opsForSet().add("test1", 1);
template.opsForSet().add("test1", 2);
template.opsForSet().add("test1", 3);
template.opsForSet().remove("test1",2);
Set set = template.opsForSet().members("test1");
System.out.println(set);*/
/**
* opsForValue
*/
//this.testOpsForValue();
/**
* 测试使用redis发送和接送消息
*/
//this.testPublishAndReceiveMessage();
/**
* 就不需要为redisTemplate再写一个工具类了,已经做了封装
*/
/*template.opsForValue().set("test-key1", "test-key1-value");
System.out.println(template.opsForValue().get("test-key1"));*/
}
public void testOpsForValue() {
/**
* 测试使用opsForValue
*/
RedisObject redisObject = new RedisObject();
redisObject.setObjectType(Integer.class);
template.opsForValue().set("redisObject", redisObject, 10, TimeUnit.SECONDS);
try {
Thread.sleep(15000);
} catch (InterruptedException e) {
e.printStackTrace();
}
redisObject = (RedisObject) template.opsForValue().get("redisObject");
System.out.println(redisObject.getObjectType().toString());
}
public void testPublishAndReceiveMessage() {
template.convertAndSend("hello-channel2", "我是中文");
}
@Test
public void testHttpClient() throws Exception{
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpHost proxy = new HttpHost("yourproxy", 8080, "http");
RequestConfig requestConfig = RequestConfig.custom().setProxy(proxy).build();
HttpGet httpGet = new HttpGet();
httpGet.setConfig(requestConfig);
// 创建HttpClient对象
HttpClient client = HttpClients.createDefault();
// 创建GET请求(在构造器中传入URL字符串即可)
HttpGet get = new HttpGet("http://127.0.0.1/http/demo.do?name=admin&age=40");
// 调用HttpClient对象的execute方法获得响应
HttpResponse response = client.execute(get);
// 调用HttpResponse对象的getEntity方法得到响应实体
HttpEntity httpEntity = response.getEntity();
// 使用EntityUtils工具类得到响应的字符串表示
String result = EntityUtils.toString(httpEntity,"utf-8");
System.out.println(result);
}
@Test
public void testGetIP() {
String ip = "";
int count = 0;
while (true) {
try {
Random r = new Random();
ip = "";
ip += String.valueOf(r.nextInt(256)) + ".";
ip += String.valueOf(r.nextInt(256)) + ".";
ip += String.valueOf(r.nextInt(256)) + ".";
ip += String.valueOf(r.nextInt(256));
System.out.println(ip);
URI uri = new URI("http://ip.taobao.com/service/getIpInfo.php?ip=" + ip);
SimpleClientHttpRequestFactory schr = new SimpleClientHttpRequestFactory();
ClientHttpRequest chr = schr.createRequest(uri, HttpMethod.POST);
//chr.getBody().write(param.getBytes());//body中设置请求参数
ClientHttpResponse res = chr.execute();
InputStream is = res.getBody(); //获得返回数据,注意这里是个流
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String str = "";
String finalStr = "";
while ((str = br.readLine()) != null) {
System.out.println(str);//获得页面内容或返回内容
finalStr += str;
}
JSONObject dataJson = JSONObject.fromObject(finalStr).getJSONObject("data");
String country = dataJson.getString("country");
String area = dataJson.getString("area");
String region = dataJson.getString("region");
String city = dataJson.getString("city");
String isp = dataJson.getString("isp");
FileUtils.writeStringToFile(new File("c:\\ip.txt"), ip + "\t" + country + "\t" + area + "\t" + region + "\t" + city + "\t" + isp + "\r\n", true);
count ++;
Thread.sleep(r.nextInt(200));
/*if (count % 100 == 0){
Thread.sleep(r.nextInt(1000));
count = 0;
}*/
} catch (URISyntaxException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
/**
* 该类需要可序列化
*/
class RedisObject implements Serializable {
private Class objectType;
public Class getObjectType() {
return objectType;
}
public void setObjectType(Class objectType) {
this.objectType = objectType;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
SpringCobar分库分表
共124个文件
xml:96个
java:22个
properties:3个
需积分: 42 10 下载量 160 浏览量
2017-03-16
13:14:39
上传
评论 1
收藏 33KB 7Z 举报
温馨提示
SpringMVC,Cobar,分库分表,以及读写分离,Mybatis应用
资源推荐
资源详情
资源评论
收起资源包目录
SpringCobar分库分表 (124个子文件)
springtest5.iml 9KB
TestJedis.java 7KB
ContQuery.java 4KB
ContDAO.java 3KB
ContServiceImpl.java 3KB
TestTransactionImpl.java 2KB
HashFunction.java 2KB
AppTest.java 1KB
BaseQuery.java 1KB
TestUserService.java 1KB
Cont.java 1KB
ContService.java 1KB
UserServiceImpl.java 1KB
DataSourceAspect.java 1007B
UserInfo.java 881B
Result.java 819B
RedisMessageListener.java 797B
TestReadWrite.java 780B
DynamicDataSource.java 621B
UserInfoMapper.java 536B
DataSource.java 321B
UserService.java 225B
ExecuteSql.java 111B
index.jsp 62B
log4j.properties 1KB
application.development.properties 1KB
jdbc.properties 482B
数据库脚本.sql 4KB
workspace.xml 86KB
pom.xml 11KB
uiDesigner.xml 9KB
spring-read_write.xml 8KB
applicationContext.xml 8KB
springtest5_war_exploded.xml 7KB
spring-mybatis.xml 5KB
cont-sqlmap.xml 5KB
UserInfoMapper.xml 3KB
Spring_Integration_4_0_3.xml 3KB
springRedis.xml 3KB
Spring_4_3_4_RELEASE.xml 2KB
Spring_Security_3_2_5.xml 1KB
dispatcher-servlet.xml 1KB
compiler.xml 954B
Project_Default.xml 898B
web.xml 859B
Maven__org_springframework_spring_context_support_4_0_9_RELEASE.xml 696B
Maven__org_springframework_data_spring_data_redis_1_5_0_RELEASE.xml 681B
Maven__javax_servlet_jsp_jstl_javax_servlet_jsp_jstl_api_1_2_1.xml 680B
Maven__org_springframework_spring_expression_4_2_0_RELEASE.xml 661B
misc.xml 656B
Maven__org_mybatis_generator_mybatis_generator_core_1_3_1.xml 648B
sharding-rules-on-namespace.xml 646B
sharding-rules-on-namespace.xml 646B
Maven__org_springframework_spring_context_4_2_0_RELEASE.xml 640B
Maven__org_springframework_spring_aspects_4_2_0_RELEASE.xml 640B
Maven__org_hibernate_hibernate_validator_4_3_2_Final.xml 637B
Maven__org_springframework_spring_webmvc_4_2_0_RELEASE.xml 633B
Maven__org_springframework_spring_beans_4_2_0_RELEASE.xml 626B
Maven__org_springframework_spring_core_4_2_0_RELEASE.xml 619B
Maven__org_springframework_spring_jdbc_4_2_0_RELEASE.xml 619B
Maven__org_springframework_spring_test_4_2_0_RELEASE.xml 619B
Maven__commons_collections_commons_collections_3_2_1.xml 619B
Maven__org_springframework_spring_orm_4_2_0_RELEASE.xml 612B
Maven__org_springframework_spring_web_4_2_0_RELEASE.xml 612B
Maven__org_springframework_spring_aop_4_2_0_RELEASE.xml 612B
Maven__commons_fileupload_commons_fileupload_1_3_1.xml 608B
Maven__com_mchange_mchange_commons_java_0_2_3_4.xml 608B
Maven__org_springframework_spring_tx_4_2_0_RELEASE.xml 605B
Maven__org_apache_ibatis_ibatis_sqlmap_2_3_4_726.xml 597B
Maven__commons_beanutils_commons_beanutils_1_8_0.xml 597B
Maven__org_jboss_logging_jboss_logging_3_1_0_CR2.xml 597B
Maven__commons_httpclient_commons_httpclient_3_1.xml 594B
Maven__javax_validation_validation_api_1_0_0_GA.xml 593B
Maven__org_apache_httpcomponents_httpclient_4_3_6.xml 580B
Maven__mysql_mysql_connector_java_5_1_30.xml 577B
Maven__commons_logging_commons_logging_1_1_2.xml 575B
Maven__org_springframework_spring_2_5_6_SEC02.xml 570B
Spring_Webflow_2_4_0.xml 568B
Maven__org_apache_httpcomponents_httpcore_4_3_3.xml 566B
Maven__com_alibaba_cobar_cobar_client_1_0_5.xml 562B
Maven__org_mybatis_mybatis_ehcache_1_0_0.xml 559B
Maven__org_apache_commons_commons_pool2_2_0.xml 559B
Maven__com_thoughtworks_xstream_xstream_1_3_1.xml 555B
Maven__org_mybatis_mybatis_spring_1_2_2.xml 552B
Maven__net_sf_ehcache_ehcache_core_2_0_0.xml 550B
Maven__org_aspectj_aspectjweaver_1_6_8.xml 545B
Maven__commons_dbcp_commons_dbcp_1_2_2.xml 542B
Maven__commons_codec_commons_codec_1_2.xml 539B
Maven__org_slf4j_slf4j_log4j12_1_7_5.xml 537B
Maven__org_hamcrest_hamcrest_core_1_3.xml 535B
Maven__javax_activation_activation_1_1.xml 530B
Maven__commons_lang_commons_lang_2_5.xml 528B
Maven__commons_pool_commons_pool_1_3.xml 528B
Maven__com_sun_mail_javax_mail_1_5_0.xml 528B
Maven__net_sf_json_lib_json_lib_jdk15_2_4.xml 524B
Maven__aopalliance_aopalliance_1_0.xml 517B
Maven__org_slf4j_slf4j_jcl_1_5_10.xml 516B
Maven__net_sf_ezmorph_ezmorph_1_0_6.xml 515B
Maven__net_sf_ehcache_ehcache_2_8_0.xml 515B
Maven__com_alibaba_fastjson_1_2_6.xml 510B
共 124 条
- 1
- 2
资源评论
Kelvin写代码
- 粉丝: 1342
- 资源: 28
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功