Mycat切片规则挺多的,我就简单讲讲一些吧,这个是自定义范围分片,简单来将,就是我有两个数据库,a放多少条记录,b放多少调数据。这样就实现了分片的操作。实现步骤:1、创建数据库。2、配置schemal.xml,3、配置service.xml,4、修改rule.xml,设置默认插入的节点、5、修改auto-sharding-long.txt,设置置分片范围。
创建数据库
这个地方我主键采用的是本地时间戳的方式来自动生成id
创建两个数据库,并都创建test表
#创建数据库
create database mycat;
#添加表
use mycat
#创建表test
create table test6(id varchar (18 ) primary key ,name varchar (32 )) ;
#创建数据库
create database mycat2;
#添加表
use mycat 2
#创建表test
create table test6(id varchar (18 ) primary key ,name varchar (32 )) ;
配置mycat
1、配置schemal.xml
#编辑添加table
vim conf/schemal.xml
#添加表,设定rule="auto-sharding-long" ,自动根据范围分片
"test6" dataNode="jdbc_node1,jdbc_node2" primaryKey="id" autoIncrement="true" rule="auto-sharding-long" />
下面是完整配置
<mycat:schema xmlns:mycat ="http://io.mycat/" >
<schema name ="yellowcong" checkSQLschema ="false" sqlMaxLimit ="1000" >
<table name ="test6" dataNode ="jdbc_node1,jdbc_node2" primaryKey ="id" autoIncrement ="true" rule ="auto-sharding-long" />
schema >
<dataNode name ="jdbc_node1" dataHost ="localhost" database ="mycat" />
<dataNode name ="jdbc_node2" dataHost ="localhost" database ="mycat2" />
<dataHost name ="localhost" maxCon ="1000" minCon ="10" balance ="0"
writeType ="0" dbType ="mysql" dbDriver ="native" switchType ="1" slaveThreshold ="100" >
<heartbeat > select user()heartbeat >
<writeHost host ="hostM1" url ="127.0.0.1:3306" user ="root" password ="root" />
dataHost >
mycat:schema >
2、配置server.xml
vim ./conf/server.xml
<property name ="sequnceHandlerType" >2 property >
下面是完整配置
<mycat:server xmlns:mycat ="http://io.mycat/" >
<system >
<property name ="serverPort" > 8066property >
<property name ="useSqlStat" > 0property >
<property name ="useGlobleTableCheck" > 0property >
<property name ="sequnceHandlerType" > 2property >
<property name ="processorBufferPoolType" > 0property >
<property name ="handleDistributedTransactions" > 0property >
<property name ="useOffHeapForMerge" > 1property >
<property name ="memoryPageSize" > 1mproperty >
<property name ="spillsFileBufferSize" > 1kproperty >
<property name ="useStreamOutput" > 0property >
<property name ="systemReserveMemorySize" > 384mproperty >
<property name ="useZKSwitch" > trueproperty >
system >
<user name ="root" >
<property name ="password" > rootproperty >
<property name ="schemas" > yellowcongproperty >
user >
<user name ="user" >
<property name ="password" > userproperty >
<property name ="schemas" > yellowcongproperty >
<property name ="readOnly" > trueproperty >
user >
mycat:server >
3、修改rule.xml
vim ./conf/rule.xml
#添加defaultNode ,设定默认节点为0 ,不设定就会报错
<function name="rang-long"
class ="io.mycat.route.function.AutoPartitionByLong" >
<property name="mapFile" >autopartition-long .txtproperty >
<property name="defaultNode" >0 property >
function >
4、修改auto-sharding-long.txt
设定分片大小和规则
vim ./conf/autopartition-long .txt
#默认是三个,我们需要删除最后一个,不然就会报错,说节点少了
#K=1000条记录,M=10000条记录,那么下面三个配置就是0~500万的记录会存在数据库节点1的表中,500万~1000万会存在节点2的表中
0 -500 M=0
500 M-1000 M=1
分片配置说明
可以看到,分片从schemal.xml一级一级的引用到组后的分片配置。
测试插入数据
重启服务器,然后进入mycat,测试数据
#进入mycat
mysql -h 127.0 .0 .1 -P 8066 -u root -proot
#使用yellowcong数据库
use yellowcong;
#插入多条数据
insert into test6 (name) values ('doubi1' ),('doubi2' ),('doubi3' ),('yellowcong' );
物理节点数据查看
#进入物理节点
mysql -h 127.0 .0 .1 -P 3306 -u root -proot
#查看节点1,也就是默认节点
select * from mycat.test6;
#查看节点2
select * from mycat2.test6;
查看物理节点中的数据情况,发现,只向默认节点中,插入了数据,没有向第二个节点中插入数据。
错误集合
please make sure table datanode size = function partition size
出现这个问题的原因,可能是由于rule.xml配置文件问题,
Caused by: io.mycat.config.util.ConfigException: Illegal table conf : table [ TEST2 ] rule function [ rang-long ] partition size : 3 > table datanode size : 2 , please make sure table datanode size = function partition size
查看rule.xml文件
导致错误的原因查找,删除一个节点,就不会报错了。
ERROR 1064 (HY000): bad insert sql (sharding column:ID not provided,INSERT INTO test2 (NULL, ‘doubi1’)
包这个问题的原因很明显,就是我们没有设置mycat中虚拟表的id自增,所以导致没有获取到id,所以导致了这个问题。
#修改后的语句
insert into test2(name) values ('doubi1' ),('doubi2' ),('doubi3' ),('yellowcong' );
ERROR 1064 (HY000): insert must provide ColumnList
必须提供添加的列,直接插入,导致了问题,所以我们需要修该插入语句
#原来语句
insert into test2 (null ,'doubi1' ),(null ,'doubi2' ),(null ,'doubi3' ),(null ,'yellowcong' );
#修改后的语句
insert into test2(name) values ('doubi1' ),('doubi2' ),('doubi3' ),('yellowcong' );
can’t find any valid datanode :TEST2 -> ID ->
如果没有指定function中defaultNode值,则插入不识别的枚举值时,报以下错误,所以需要指定
ERROR 1064 (HY000 ): can't find any valid datanode :TEST2 -> ID -> 953095995447709696
指定defaultNode,默认节点
<function name="rang-long"
class ="io.mycat.route.function.AutoPartitionByLong" >
<property name="mapFile" >autopartition-long .txtproperty >
<property name="defaultNode" >0 property >
function >
Out of range value for column ‘id’ at row 1
导致这个问题的大致原因可能是由于mycat生成的id和数据库的字符长度对不上,超过了数据库配置的默认长度所导致的。解决办法,就是修改数server.xml,设定id生成策略是根据数据库生成的。
vim conf/server .xml
0 表示是表示使用本地文件方式。
1 表示的是根据数据库来生成
2 表示时间戳的方式 ID= 64 位二进制 (42 (毫秒)+5 (机器 ID)+5 (业务编码)+12 (重复累加)
<property name="sequnceHandlerType" >2 property >
参考文章
http://www.linuxidc.com/Linux/2016-01/127829.htm
你可能感兴趣的:(数据库中间件)
ShardingSphere 功能详细介绍
冰糖心158
数据库
ShardingSphere是一个开源的分布式数据库中间件,旨在为数据库提供高可扩展性、可管理性和高可用性,支持数据的分库分表(Sharding)、数据库路由、数据同步等功能。ShardingSphere本质上是一个分布式数据库代理,它提供透明的分布式数据操作,使得应用程序可以像操作单一数据库一样操作分布式数据。ShardingSphere具有以下几个主要功能:1.分库分表(Sharding)Sh
中间件的学习理解总结
DCDDDDcccc
中间件 学习
目录一、定义与作用二、主要类型数据库中间件远程过程调用中间件面向消息的中间件事务处理中间件三、特点与优势独立性高效性可扩展性可靠性四、应用场景企业应用集成分布式系统电子商务移动应用开发五、数据库中间件功能细节:应用优势:六、远程过程调用中间件功能细节:应用优势:七、面向消息的中间件功能细节:应用优势:八、事务处理中间件功能细节:应用优势:数据库中间件MyCat:ShardingSphere:远程过
Spring常用中间件
贺仙姑
spring 中间件 java
1.数据库中间件(1)MySQL:常用的关系型数据库,支持JDBC和JPA。(2)PostgreSQL:功能强大的开源关系型数据库,支持复杂查询。(3)MongoDB:NoSQL数据库,适合存储非结构化数据。(4)Redis:内存数据结构存储,常用于缓存和消息队列。2.消息队列(1)RabbitMQ:开源消息代理,支持多种消息协议,适合异步处理。(2)Kafka:分布式流处理平台,适合处理大规模数
数据库分库分表-ShardingSphere学习
学Java的skyyyyyyyy
数据库 java
ShardingSphere是一个开源的分布式数据库中间件解决方案,旨在提供数据库分片、分布式事务、读写分离、数据治理等多种数据服务,它以模块化的方式设计,使用户可以根据不同的应用场景选择适合的模块来部署。ShardingSphere架构概述ShardingSphere的架构主要围绕四个核心组件展开,分别是Sharding-JDBC、Sharding-Proxy、Sharding-Sidecar(
springboot中的@Cacheable缓存来增加手动分页的查询效率 为什么用手动分页业务用的jpa jpa中查了下没有数据库中间件
烟雨国度
spring boot 缓存 数据库
2024/7/319:45:09claude-3-opus-20240229当然可以!我们可以对代码进行进一步的优化,以提高性能。以下是一些优化建议:使用缓存机制:对于频繁查询的关键词或查询条件,可以考虑将查询结果缓存起来,避免重复查询数据库。可以使用Spring提供的缓存抽象(如@Cacheable、@CacheEvict等注解),或者使用第三方缓存库(如Redis)来实现缓存功能。优化正则表达
将Spring Cloud项目改造为Spring-cloud-kubernetes项目
公众号-芋道源码
中间件 java linux 数据库 spring boot
点击上方“芋道源码”,选择“设为星标”管她前浪,还是后浪?能浪的浪,才是好浪!每天10:33更新文章,每天掉亿点点头发...源码精品专栏原创|Java2021超神之路,很肝~中文详细注释的开源项目RPC框架Dubbo源码解析网络应用框架Netty源码解析消息中间件RocketMQ源码解析数据库中间件Sharding-JDBC和MyCAT源码解析作业调度中间件Elastic-Job源码解析分布式事务
Sharding-JDBC学习笔记
重生之Java再爱我一次
学习 笔记
1.基本概念1.1什么是ShardingSphere?ShardingSphere是一个开源的分布式数据库中间件,提供了分布式数据库的跨节点分片和分布式事务解决方案。它由分片(Sharding)和球(Sphere)两个单词组成,分片表示数据分片,球表示这些分片组成的球形空间,象征着分布式数据库的全景视图。ShardingSphere支持多种数据库的分片和分布式事务,包括关系型数据库(如MySQL、
呵呵,一个 bug 你改了两天?难吗?
Java基基
点击上方“Java基基”,选择“设为星标”做积极的人,而不是积极废人!源码精品专栏原创|Java2020超神之路,很肝~中文详细注释的开源项目RPC框架Dubbo源码解析网络应用框架Netty源码解析消息中间件RocketMQ源码解析数据库中间件Sharding-JDBC和MyCAT源码解析作业调度中间件Elastic-Job源码解析分布式事务中间件TCC-Transaction源码解析Eurek
互联网架构模板:“存储层”技术
woshishui1243
——————————————————摘抄自《极客时间李运华从0开始学架构》SQL单表、单库——>数据库拆分——>数据库中间件(将分库分表做到自动化和平台化)——>存储平台(以对业务透明的形式提供资源分配、数据备份、迁移、容灾、读写分离、分库分表等一系列服务)NoSQL小文件存储大文件存储
京东平台研发:领域驱动设计(DDD)实践总结
公众号-芋道源码
tdd 控制器 360 dbcp 分布式
点击上方“芋道源码”,选择“设为星标”管她前浪,还是后浪?能浪的浪,才是好浪!每天8:55更新文章,每天掉亿点点头发...源码精品专栏原创|Java2020超神之路,很肝~中文详细注释的开源项目RPC框架Dubbo源码解析网络应用框架Netty源码解析消息中间件RocketMQ源码解析数据库中间件Sharding-JDBC和MyCAT源码解析作业调度中间件Elastic-Job源码解析分布式事务中
怎么用数据库中间件Mycat+SpringBoot完成分库分表?
Java圈子
一、背景随着时间和业务的发展,数据库中的数据量增长是不可控的,库和表中的数据会越来越大,随之带来的是更高的磁盘、IO、系统开销,甚至性能上的瓶颈,而一台服务的资源终究是有限的,因此需要对数据库和表进行拆分,从而更好的提供数据服务。当用户表达到千万级别,在做很多操作的时候都会很吃力,所以当数据增长到1000万以上就需要分库分表来缓解单库(表)的压力。二、什么是分库分表简单来说,就是指通过某种特定的条
领导:谁再用 Redis 实现过期订单关闭,立马滚蛋!
公众号-芋道源码
redis java 数据库 缓存 开发语言
点击上方“芋道源码”,选择“设为星标”管她前浪,还是后浪?能浪的浪,才是好浪!每天10:33更新文章,每天掉亿点点头发...源码精品专栏原创|Java2021超神之路,很肝~中文详细注释的开源项目RPC框架Dubbo源码解析网络应用框架Netty源码解析消息中间件RocketMQ源码解析数据库中间件Sharding-JDBC和MyCAT源码解析作业调度中间件Elastic-Job源码解析分布式事务
Docker 部署Mycat2
Lonely Faith
docker 数据库 java
Docker部署Mycat2分布式数据库中间件Mycat2简介Mycat2是Mycat社区开发的一款分布式关系型数据库(中间件)。它支持分布式SQL查询,兼容MySQL通信协议,以Java生态支持多种后端数据库,通过数据分片提高数据查询处理能力。源码地址https://github.com/MyCATApache/Mycat2https://gitee.com/MycatOne/Mycat2官网h
RocketMQ 源码分析 —— 集成 Spring Boot
公众号-芋道源码
点击上方“芋道源码”,选择“设为星标”做积极的人,而不是积极废人!源码精品专栏原创|Java2020超神之路,很肝~中文详细注释的开源项目RPC框架Dubbo源码解析网络应用框架Netty源码解析消息中间件RocketMQ源码解析数据库中间件Sharding-JDBC和MyCAT源码解析作业调度中间件Elastic-Job源码解析分布式事务中间件TCC-Transaction源码解析Eureka和
Excel百万级数据导入导出,EasyExcel 才是 yyds
Java基基
excel
点击上方“Java基基”,选择“设为星标”做积极的人,而不是积极废人!每天14:00更新文章,每天掉亿点点头发...源码精品专栏原创|Java2021超神之路,很肝~中文详细注释的开源项目RPC框架Dubbo源码解析网络应用框架Netty源码解析消息中间件RocketMQ源码解析数据库中间件Sharding-JDBC和MyCAT源码解析作业调度中间件Elastic-Job源码解析分布式事务中间件T
数据库主从加读写分离
曹博Blog
数据库
1.规划节点mysql1------192.168.200.8------主数据库节点mysql2------192.168.200.13------从数据库节点mycat------192.168.200.21------数据库中间件节点2.基础准备使用OpenStack平台创建两台云主机进行试验,云主机使用提供的CentOS_7.5_x86_64_XD.qcow2镜像,flavor使用1核/2
一文看懂SpringBoot启动流程!
公众号-芋道源码
spring java 编程语言 python android
点击上方“芋道源码”,选择“设为星标”管她前浪,还是后浪?能浪的浪,才是好浪!每天10:33更新文章,每天掉亿点点头发...源码精品专栏原创|Java2021超神之路,很肝~中文详细注释的开源项目RPC框架Dubbo源码解析网络应用框架Netty源码解析消息中间件RocketMQ源码解析数据库中间件Sharding-JDBC和MyCAT源码解析作业调度中间件Elastic-Job源码解析分布式事务
芋道 Spring Boot MyBatis 入门
公众号-芋道源码
点击上方“芋道源码”,选择“设为星标”做积极的人,而不是积极废人!源码精品专栏原创|Java2019超神之路,很肝~中文详细注释的开源项目RPC框架Dubbo源码解析网络应用框架Netty源码解析消息中间件RocketMQ源码解析数据库中间件Sharding-JDBC和MyCAT源码解析作业调度中间件Elastic-Job源码解析分布式事务中间件TCC-Transaction源码解析Eureka和
芋道 Spring Boot 消除冗余代码 Lombok 入门
公众号-芋道源码
点击上方“芋道源码”,选择“设为星标”做积极的人,而不是积极废人!源码精品专栏原创|Java2020超神之路,很肝~中文详细注释的开源项目RPC框架Dubbo源码解析网络应用框架Netty源码解析消息中间件RocketMQ源码解析数据库中间件Sharding-JDBC和MyCAT源码解析作业调度中间件Elastic-Job源码解析分布式事务中间件TCC-Transaction源码解析Eureka和
芋道 Spring Boot 数据库版本管理入门
公众号-芋道源码
点击上方“芋道源码”,选择“设为星标”做积极的人,而不是积极废人!源码精品专栏原创|Java2020超神之路,很肝~中文详细注释的开源项目RPC框架Dubbo源码解析网络应用框架Netty源码解析消息中间件RocketMQ源码解析数据库中间件Sharding-JDBC和MyCAT源码解析作业调度中间件Elastic-Job源码解析分布式事务中间件TCC-Transaction源码解析Eureka和
Mycat
百事可乐丶
docker安装mysql主从和mycatmysql主从:https://blog.csdn.net/Amor_Leo/article/details/85177001mycat安装:https://blog.csdn.net/Amor_Leo/article/details/85218405Mycat是什么数据库中间件,类似nginx,拦截请求,路由分发,不同的是nginx拦截的是请求,而Myc
分布式 | 动态调整 DBLE 内线程池的数目
爱可生开源社区
作者:郭奥门爱可生DBLE研发成员,负责分布式数据库中间件的新功能开发,回答社区/客户/内部提出的一般性问题。本文来源:原创投稿*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。背景在实际生产环境,项目上线初期流量比较小,等后面项目流量涨上来,dble内原有的线程配置可能支撑不了上游的压力,此时可能会遇到一系列性能问题,这时就需要调大processors、backend
SpringBoot+Mybatis 如何实现流式查询,你知道吗?
公众号-芋道源码
mybatis spring boot java 后端 spring
点击上方“芋道源码”,选择“设为星标”管她前浪,还是后浪?能浪的浪,才是好浪!每天10:33更新文章,每天掉亿点点头发...源码精品专栏原创|Java2021超神之路,很肝~中文详细注释的开源项目RPC框架Dubbo源码解析网络应用框架Netty源码解析消息中间件RocketMQ源码解析数据库中间件Sharding-JDBC和MyCAT源码解析作业调度中间件Elastic-Job源码解析分布式事务
mybatis+springboot+druid多数据源配置
爱吃苹果的西瓜
博主有话说:现在数据库中间件基本取代了多数据源配置,大家可以去学习一下MyCat以及SharingSphere,有空的时候和大家分享一波。这次主要介绍的是一个项目中多数据源的配置,可以达到读写分离的效果,加上aop,简直就是一个注解无缝插入,有空也会上传aop的代码。大家一起学习一起进步。整体梳理过程加上注解application.properties/yml中配置注入datasource和Sql
中间件与rabbitmq
Persistence is gold
中间件 rabbitmq 分布式
中间件是一种软件,用于在不同的应用程序、系统或服务之间提供通用功能和服务。它充当应用程序之间的桥梁,帮助它们相互通信和交换数据。中间件简化了复杂软件系统的开发和维护,使不同的系统组件能够更容易地协同工作。中间件的类型很多,包括消息队列、应用服务器、数据库中间件和事务处理监控器等。RabbitMQ是一种流行的开源消息中间件,用于处理和传递消息。它基于高级消息队列协议(AMQP),支持多种消息传递模式
基于spring boot的快速api开发框架spring-boot-base
虫鱼水兽
基于Springboot的快速API开放框架github前言:该框架基于springdatajpa作为数据库中间件安装com.cyssxtspring-boot-base${version}讲发布包引入到Application启动注解的扫描包参数中.eg.@SpringBootApplication(scanBasePackages={"com.cyssxt"})接口消息通用返回{"data":自
mycat mysql程序_MyCat + MySQL 主从部署流程(上)
weixin_39724009
mycat mysql程序
背景本周研究了一下数据库中间件MyCat,并验证了MyCat单机+MySQL主从复制的部署方案,本文将整理MyCat单机的Schema的几种部署方案,并以MyCat单机+MySQL主从复制的部署流程为主,详细介绍这一方案的部署过程。环境准备使用MyCat单机+MySQL主从,最少需要两台机器,本文使用一主一从,MyCat单独部署,总共三个虚拟机节点。由于连接的是无线网络,切换工作地时,会出现网络问
ShardingSphere数据库中间件
愚人钊呀
SpringBoot 数据库
数据库中的数据量猛增,访问性能也变慢了,优化迫在眉睫?1.关系型数据库本身比较容易成为系统瓶颈:单机存储容量、数据库连接数、处理能力都有限。2.当单表的数据量达到1000W或100G以后,由于查询维度较多,即使做了优化索引等操作,查询性能仍下降严重。方案1:通过提升服务器硬件能力来提高数据处理能力,比如增加存储容量、CPU等,这种方案成本很高,并且如果瓶颈在MySQL本身那么提高硬件也是有很的。方
什么是中间件?
善守的大龙猫
中间件 中间件
文章目录为什么需要中间件?中间件生态漫谈数据库中间件读写分离分库分表引进数据库中间件MyCat服务端代理模式ShardingJDBC客户端代理模式总结IT系统从单体应用逐渐向分布式架构演变,高并发、高可用、高性能、分布式等话题变得异常火热,中间件也在这一时期如雨后春笋般涌现出来,那到底什么是中间件呢?存在哪些类型的中间件呢?同一类型的中间件,我们该怎么选择?为什么需要中间件?先来说说什么是中间件,
Java8 异步非阻塞做法:CompletableFuture 两万字详解!
Java基基
java jvm 开发语言
点击上方“Java基基”,选择“设为星标”做积极的人,而不是积极废人!每天14:00更新文章,每天掉亿点点头发...源码精品专栏原创|Java2021超神之路,很肝~中文详细注释的开源项目RPC框架Dubbo源码解析网络应用框架Netty源码解析消息中间件RocketMQ源码解析数据库中间件Sharding-JDBC和MyCAT源码解析作业调度中间件Elastic-Job源码解析分布式事务中间件T
java数字签名三种方式
知了ing
java jdk
以下3钟数字签名都是基于jdk7的
1,RSA
String password="test";
// 1.初始化密钥
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(51
Hibernate学习笔记
caoyong
Hibernate
1>、Hibernate是数据访问层框架,是一个ORM(Object Relation Mapping)框架,作者为:Gavin King
2>、搭建Hibernate的开发环境
a>、添加jar包:
aa>、hibernatte开发包中/lib/required/所
设计模式之装饰器模式Decorator(结构型)
漂泊一剑客
Decorator
1. 概述
若你从事过面向对象开发,实现给一个类或对象增加行为,使用继承机制,这是所有面向对象语言的一个基本特性。如果已经存在的一个类缺少某些方法,或者须要给方法添加更多的功能(魅力),你也许会仅仅继承这个类来产生一个新类—这建立在额外的代码上。
读取磁盘文件txt,并输入String
一炮送你回车库
String
public static void main(String[] args) throws IOException {
String fileContent = readFileContent("d:/aaa.txt");
System.out.println(fileContent);
js三级联动下拉框
3213213333332132
三级联动
//三级联动
省/直辖市<select id="province"></select>
市/省直辖<select id="city"></select>
县/区 <select id="area"></select>
erlang之parse_transform编译选项的应用
616050468
parse_transform 游戏服务器 属性同步 abstract_code
最近使用erlang重构了游戏服务器的所有代码,之前看过C++/lua写的服务器引擎代码,引擎实现了玩家属性自动同步给前端和增量更新玩家数据到数据库的功能,这也是现在很多游戏服务器的优化方向,在引擎层面去解决数据同步和数据持久化,数据发生变化了业务层不需要关心怎么去同步给前端。由于游戏过程中玩家每个业务中玩家数据更改的量其实是很少
JAVA JSON的解析
darkranger
java
// {
// “Total”:“条数”,
// Code: 1,
//
// “PaymentItems”:[
// {
// “PaymentItemID”:”支款单ID”,
// “PaymentCode”:”支款单编号”,
// “PaymentTime”:”支款日期”,
// ”ContractNo”:”合同号”,
//
POJ-1273-Drainage Ditches
aijuans
ACM_POJ
POJ-1273-Drainage Ditches
http://poj.org/problem?id=1273
基本的最大流,按LRJ的白书写的
#include<iostream>
#include<cstring>
#include<queue>
using namespace std;
#define INF 0x7fffffff
int ma
工作流Activiti5表的命名及含义
atongyeye
工作流 Activiti
activiti5 - http://activiti.org/designer/update在线插件安装
activiti5一共23张表
Activiti的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。
ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。
A
android的广播机制和广播的简单使用
百合不是茶
android 广播机制 广播的注册
Android广播机制简介 在Android中,有一些操作完成以后,会发送广播,比如说发出一条短信,或打出一个电话,如果某个程序接收了这个广播,就会做相应的处理。这个广播跟我们传统意义中的电台广播有些相似之处。之所以叫做广播,就是因为它只负责“说”而不管你“听不听”,也就是不管你接收方如何处理。另外,广播可以被不只一个应用程序所接收,当然也可能不被任何应
Spring事务传播行为详解
bijian1013
java spring 事务传播行为
在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。
Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这
eidtplus operate
征客丶
eidtplus
开启列模式: Alt+C 鼠标选择 OR Alt+鼠标左键拖动
列模式替换或复制内容(多行):
右键-->格式-->填充所选内容-->选择相应操作
OR
Ctrl+Shift+V(复制多行数据,必须行数一致)
-------------------------------------------------------
【Kafka一】Kafka入门
bit1129
kafka
这篇文章来自Spark集成Kafka(http://bit1129.iteye.com/blog/2174765),这里把它单独取出来,作为Kafka的入门吧
下载Kafka
http://mirror.bit.edu.cn/apache/kafka/0.8.1.1/kafka_2.10-0.8.1.1.tgz
2.10表示Scala的版本,而0.8.1.1表示Kafka
Spring 事务实现机制
BlueSkator
spring 代理 事务
Spring是以代理的方式实现对事务的管理。我们在Action中所使用的Service对象,其实是代理对象的实例,并不是我们所写的Service对象实例。既然是两个不同的对象,那为什么我们在Action中可以象使用Service对象一样的使用代理对象呢?为了说明问题,假设有个Service类叫AService,它的Spring事务代理类为AProxyService,AService实现了一个接口
bootstrap源码学习与示例:bootstrap-dropdown(转帖)
BreakingBad
bootstrap dropdown
bootstrap-dropdown组件是个烂东西,我读后的整体感觉。
一个下拉开菜单的设计:
<ul class="nav pull-right">
<li id="fat-menu" class="dropdown">
读《研磨设计模式》-代码笔记-中介者模式-Mediator
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/*
* 中介者模式(Mediator):用一个中介对象来封装一系列的对象交互。
* 中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
*
* 在我看来,Mediator模式是把多个对象(
常用代码记录
chenjunt3
UI Excel J#
1、单据设置某行或某字段不能修改
//i是行号,"cash"是字段名称
getBillCardPanelWrapper().getBillCardPanel().getBillModel().setCellEditable(i, "cash", false);
//取得单据表体所有项用以上语句做循环就能设置整行了
getBillC
搜索引擎与工作流引擎
comsci
算法 工作 搜索引擎 网络应用
最近在公司做和搜索有关的工作,(只是简单的应用开源工具集成到自己的产品中)工作流系统的进一步设计暂时放在一边了,偶然看到谷歌的研究员吴军写的数学之美系列中的搜索引擎与图论这篇文章中的介绍,我发现这样一个关系(仅仅是猜想)
-----搜索引擎和流程引擎的基础--都是图论,至少像在我在JWFD中引擎算法中用到的是自定义的广度优先
oracle Health Monitor
daizj
oracle Health Monitor
About Health Monitor
Beginning with Release 11g, Oracle Database includes a framework called Health Monitor for running diagnostic checks on the database.
About Health Monitor Checks
Health M
JSON字符串转换为对象
dieslrae
java json
作为前言,首先是要吐槽一下公司的脑残编译部署方式,web和core分开部署本来没什么问题,但是这丫居然不把json的包作为基础包而作为web的包,导致了core端不能使用,而且我们的core是可以当web来用的(不要在意这些细节),所以在core中处理json串就是个问题.没办法,跟编译那帮人也扯不清楚,只有自己写json的解析了.
C语言学习八结构体,综合应用,学生管理系统
dcj3sjt126com
C语言
实现功能的代码:
# include <stdio.h>
# include <malloc.h>
struct Student
{
int age;
float score;
char name[100];
};
int main(void)
{
int len;
struct Student * pArr;
int i,
vagrant学习笔记
dcj3sjt126com
vagrant
想了解多主机是如何定义和使用的, 所以又学习了一遍vagrant
1. vagrant virtualbox 下载安装
https://www.vagrantup.com/downloads.html
https://www.virtualbox.org/wiki/Downloads
查看安装在命令行输入vagrant
2.
14.性能优化-优化-软件配置优化
frank1234
软件配置 性能优化
1.Tomcat线程池
修改tomcat的server.xml文件:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads="1200" m
一个不错的shell 脚本教程 入门级
HarborChung
linux shell
一个不错的shell 脚本教程 入门级
建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行)。 如同其他语言一样
Spring4新特性——核心容器的其他改进
jinnianshilongnian
spring 动态代理 spring4 依赖注入
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
Linux设置tomcat开机启动
liuxingguome
tomcat linux 开机自启动
执行命令sudo gedit /etc/init.d/tomcat6
然后把以下英文部分复制过去。(注意第一句#!/bin/sh如果不写,就不是一个shell文件。然后将对应的jdk和tomcat换成你自己的目录就行了。
#!/bin/bash
#
# /etc/rc.d/init.d/tomcat
# init script for tomcat precesses
第13章 Ajax进阶(下)
onestopweb
Ajax
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
Troubleshooting Crystal Reports off BW
blueoxygen
BO
http://wiki.sdn.sap.com/wiki/display/BOBJ/Troubleshooting+Crystal+Reports+off+BW#TroubleshootingCrystalReportsoffBW-TracingBOE
Quite useful, especially this part:
SAP BW connectivity
For t
Java开发熟手该当心的11个错误
tomcat_oracle
java jvm 多线程 单元测试
#1、不在属性文件或XML文件中外化配置属性。比如,没有把批处理使用的线程数设置成可在属性文件中配置。你的批处理程序无论在DEV环境中,还是UAT(用户验收
测试)环境中,都可以顺畅无阻地运行,但是一旦部署在PROD 上,把它作为多线程程序处理更大的数据集时,就会抛出IOException,原因可能是JDBC驱动版本不同,也可能是#2中讨论的问题。如果线程数目 可以在属性文件中配置,那么使它成为
正则表达式大全
yang852220741
html 编程 正则表达式
今天向大家分享正则表达式大全,它可以大提高你的工作效率
正则表达式也可以被当作是一门语言,当你学习一门新的编程语言的时候,他们是一个小的子语言。初看时觉得它没有任何的意义,但是很多时候,你不得不阅读一些教程,或文章来理解这些简单的描述模式。
一、校验数字的表达式
数字:^[0-9]*$
n位的数字:^\d{n}$
至少n位的数字:^\d{n,}$
m-n位的数字:^\d{m,n}$