文档章节

Redis sentinel 连接配置,MongoDB 复制集连接配置 java Srping

SimonAt
 SimonAt
发布于 2016/08/20 15:49
字数 329
阅读 45
收藏 0

Redis

<bean id="sentinelConfiguration"
        class="org.springframework.data.redis.connection.RedisSentinelConfiguration">
        <property name="master">
            <bean class="org.springframework.data.redis.connection.RedisNode">
                <property name="name" value="mymaster"></property>
            </bean>
        </property>
        <property name="sentinels">
            <set>
                <bean class="org.springframework.data.redis.connection.RedisNode">
                    <constructor-arg name="host" value="192.168.0.117"></constructor-arg>
                    <constructor-arg name="port" value="26378"></constructor-arg>
                </bean>
                <bean class="org.springframework.data.redis.connection.RedisNode">
                    <constructor-arg name="host" value="192.168.0.117"></constructor-arg>
                    <constructor-arg name="port" value="26379"></constructor-arg>
                </bean>
            </set>
        </property>
    </bean>
    <bean id="jedisConnectionFactory"
        class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
        <constructor-arg name="sentinelConfig" ref="sentinelConfiguration"></constructor-arg>
        <constructor-arg name="poolConfig" ref="poolConfig"></constructor-arg>
    </bean>
 
    <bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
        <property name="connectionFactory" ref="jedisConnectionFactory" />
    </bean>
    <bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig"
        lazy-init="true">
        <property name="maxIdle" value="${redis.maxIdle}" />
        <property name="maxTotal" value="${redis.maxActive}" />
        <property name="maxWaitMillis" value="${redis.maxWait}" />
    </bean>

MongoDB

public class DBUtil {
	private MongoClient mongoClient;
	private MongoDatabase database;
	private String host;
	private String dbName;
	private String username;
	private String password;
	private String replSetName;

	public String getHost() {
		return this.host;
	}

	public void setHost(String host) {
		this.host = host;
	}

	public String getDbName() {
		return this.dbName;
	}

	public void setDbName(String dbName) {
		this.dbName = dbName;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	@SuppressWarnings({ "unchecked", "rawtypes" })
	public void init() throws Exception {
		String[] hostArr = this.host.split("\\,");
		List<ServerAddress> serverList = new ArrayList<>();
		for (String h : hostArr) {
			serverList.add(new ServerAddress(h));
		}
		Object credentialsList = null;
		if ((this.username != null) && (this.username.trim().length() > 0) && (this.password != null)
				&& (this.password.trim().length() > 0)) {
			credentialsList = new ArrayList<>();
			((List) credentialsList).add(MongoCredential.createCredential(this.username, this.dbName, this.password.toCharArray()));
		}
		//this.mongoClient = new MongoClient(serverList, (List) credentialsList);
		MongoClientOptions options = MongoClientOptions.builder()
				.requiredReplicaSetName(replSetName)
				.readPreference(ReadPreference.secondaryPreferred())
				.build();
		this.mongoClient = new MongoClient(serverList, options);
		this.database = this.mongoClient.getDatabase(this.dbName);
	}

	public void destroy() {
		if (this.mongoClient != null) {
			this.mongoClient.close();
		}
	}

	public MongoCollection<Document> getColl(String name) {
		return this.database.getCollection(name);
	}

	public int nextValue(String counterName) {
		Document filter = new Document("name", counterName);
		Document fields = new Document("value", Boolean.valueOf(true));
		Document update = new Document("$inc", new Document("value", Integer.valueOf(1)));

		FindOneAndUpdateOptions options = new FindOneAndUpdateOptions().projection(fields).upsert(true);
		Document newObj = (Document) this.database.getCollection("counter").findOneAndUpdate(filter, update, options);
		return newObj.getInteger("value").intValue();
	}
}

mongodb.replSetName=
mongodb.dbName=
mongodb.userName=
mongodb.password=

© 著作权归作者所有

SimonAt
粉丝 7
博文 75
码字总数 14253
作品 0
苏州
程序员
私信 提问
mongodb(一)mongodb 副本集配置

---layout: blogistop: truetitle: "mongodb 副本集配置"date: 2018-08-29category: mongodbtags: mongodb --- 环境 下载解压 基本配置: 假定已经解压安装完成,现在所处的目录是 /usr/loc......

开心的哈士奇
2018/10/17
213
0
MongoDB Plugin 新版发布

因为自己工作中会需要用到MongoDB,为了在JAVA上用MongoDB用得更舒服,所以开发了这个工具。 相较于之前的版本,几乎重写所有代码。 具有以下特性: 使用方式更像是自然语言,用起来更舒适。...

tbaby
2016/04/17
3K
3
MongoDB在spring中xml传统配置

背景 旧项目中依然在使用springmvc的xml传统配置,最近需要使用MongoDB,需要在spring引入MongoDB的连接配置。 解决 配置mongodb数据库 配置mongodb数据工厂 配置mongodb的Template 配置mon...

亚林瓜子
2018/06/12
26
0
springboot系列十一 Spring-Data-MongoDB

mongodb 数据存储格式类似于json 官方文档 https://docs.mongodb.com/manual/?_ga=2.34252649.996507481.1543901385-1321775126.1543901385 官方示例java代码 支持语言 安装方法 Windows安装......

yimingkeji
2018/12/04
239
0
cacti 监控jvm mongodb

一、cacti监控jvm 安装前提得有jdk环境 安装jdk,可以使用.bin、压缩包等 1、上传jdk.bin 或从其他服务器上拷贝java目录到/usr/local目录下,执行第五步之后即可 2、赋权chmod +x jdk.bin 3、...

hua_zi
2015/08/10
83
0

没有更多内容

加载失败,请刷新页面

加载更多

2684亿!阿里CTO张建锋:不是任何一朵云都撑得住双11

“不是任何一朵云都能撑住这个流量。中国有两朵云,一朵是阿里云,一朵叫其他云。”11月11日晚,阿里巴巴集团CTO张建锋表示,“阿里云不一样,10年前我们从第一行代码写起,构建了中国唯一自...

阿里云官方博客
9分钟前
1
0
Spark自定义外部数据源

背景:有时候我们需要定义一个外部数据源,然后用spark sql的方式来处理。这样的好处有2点: (1)定义了外部数据源后,用起来很简洁,软件架构清晰,通过sql方式直接使用。 (2)容易分层分...

守望者之父
12分钟前
1
0
电磁兼容不应空论 越实践越知深浅

在电子行业中,电子工程师极为熟悉的就是EMC电磁兼容性测试的各项规范。其实大多工程师所了解的电磁兼容性一般来说就是:设备或系统在其电磁环境中能正常工作,且不对该环境中任何事物构成不...

demyar
13分钟前
2
0
16、SpringMVC拦截器

拦截定义 定义拦截器,实现HandlerInterceptor接口。接口中提供三个方法。 public class HandlerInterceptor1 implements HandlerInterceptor{ public boolean preHandle(HttpServletR......

快乐的瓶子
13分钟前
1
0
顺时针打印矩阵

public class Code_06_PrintMatrixSpiralOrder {public static void spiralOrderPrint(int[][] matrix) {int tR = 0; //左上角的行int tC = 0; //左上角的列int dR = ma......

Garphy
14分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部