设为首页 - 加入收藏 焦点技术网
热搜:java
当前位置:首页 >

Vert-x配置项VertxOptions的使用

2016-04-04 09:53:14.0 java  
导读:今天清明节,一大早被孩子吵醒,起来撸一篇关于VertxOptions的文章,此文章诞生于洗手间,读此文章可能会闻到臭臭的味道。。。。
- 欢迎关注http://quanke.name/ - 交流群:`231419585` - 转载请注明出处,谢谢 今天清明节,一大早被孩子吵醒,起来撸一篇关于VertxOptions的文章,此文章诞生于洗手间,读此文章可能会闻到臭臭的味道。下面正式开始: 在发布Vert.x实例时,需要传入一个[VertxOptions](http://vertx.io/docs/apidocs/io/vertx/core/VertxOptions.html)来实现针对Vert.x的配置项的管理,代码如下: ``` VertxOptions options = new VertxOptions(); options.setWorkerPoolSize(40)//举个栗子,设置支持的Worker线程的最大数量 Vertx vertx = Vertx.vertx(options); ``` 配置项的API说明: * [setEventLoopPoolSize](http://vertx.io/docs/apidocs/io/vertx/core/VertxOptions.html#setEventLoopPoolSize-int-) 设置Vert.x实例中使用的Event Loop线程的数量,默认值为:2 * Runtime.getRuntime().availableProcessors()(可用的处理器个数); * [setWorkerPoolSize](http://vertx.io/docs/apidocs/io/vertx/core/VertxOptions.html#setWorkerPoolSize-int-) 设置Vert.x实例中支持的Worker线程的最大数量,默认值为20; * [setInternalBlockingPoolSize](http://vertx.io/docs/apidocs/io/vertx/core/VertxOptions.html#setInternalBlockingPoolSize-int-) 设置内部阻塞线程池最大线程数,这个参数主要被Vert.x的一些内部操作使用,默认值为20; * [setClustered](http://vertx.io/docs/apidocs/io/vertx/core/VertxOptions.html#setClustered-boolean-) 是否开启Vert.x的Cluster集群模式,默认值为false; * [setClusterHost](http://vertx.io/docs/apidocs/io/vertx/core/VertxOptions.html#setClusterHost-java.lang.String-) 【Cluster集群模式有效】设置集群运行的默认hostname,默认值为localhost; * [setClusterPort](http://vertx.io/docs/apidocs/io/vertx/core/VertxOptions.html#setClusterPort-int-) 【Cluster集群模式有效】设置集群运行的端口号,可自定义固定端口号,默认值为0(随机分配); * [setClusterPingInterval](http://vertx.io/docs/apidocs/io/vertx/core/VertxOptions.html#setClusterPingInterval-long-) 【Cluster集群模式有效】使用ping命令检测Cluster的时间间隔,默认20000,单位毫秒ms,即20秒; * [setClusterPingReplyInterval](http://vertx.io/docs/apidocs/io/vertx/core/VertxOptions.html#setClusterPingReplyInterval-long-) 【Cluster集群模式有效】集群响应ping命令的时间间隔,默认20000,单位毫秒ms,即20秒; * [setBlockedThreadCheckInterval](http://vertx.io/docs/apidocs/io/vertx/core/VertxOptions.html#setBlockedThreadCheckInterval-long-) 阻塞线程检查的时间间隔,默认1000,单位ms,即1秒; * [setMaxEventLoopExecuteTime](http://vertx.io/docs/apidocs/io/vertx/core/VertxOptions.html#setMaxEventLoopExecuteTime-long-) Event Loop的最大执行时间,默认2l * 1000 * 1000000,单位ns,即2秒; * [setMaxWorkerExecuteTime](http://vertx.io/docs/apidocs/io/vertx/core/VertxOptions.html#setMaxWorkerExecuteTime-long-) Worker线程的最大执行时间,默认60l * 1000 * 1000000,单位ns,即60秒; * [setHAEnabled](http://vertx.io/docs/apidocs/io/vertx/core/VertxOptions.html#setHAEnabled-boolean-) 是否支持HA架构,默认值false;(*:如果Vert.x启用了HA模式,其中一个Vert.x实例运行出现了异常或者死掉,那么这个Vert.x实例中运行的Verticle会执行重发布Redeploy的过程将运行在该实例中的Verticle实例重新发布到其他正常运行的Vert.x实例中【Verticle Fail-Over】。) * [setHAGroup](http://vertx.io/docs/apidocs/io/vertx/core/VertxOptions.html#setHAGroup-java.lang.String-) 【HA模式有效】支持了HA模式过后,可根据不同的组名将Vert.x进行逻辑分组,此方法设置当前Vert.x的逻辑组名,默认__DEFAULT__; * [setQuorumSize](http://vertx.io/docs/apidocs/io/vertx/core/VertxOptions.html#setQuorumSize-int-) 【HA模式有效】支持了HA模式过后,此方法设置冲裁节点的数量,默认值1;(*:这个值一旦设置过后,如果要发布Verticle组件,则需要运行环境中的节点数量达到这个值才可执行发布,比如quorum的值设置成3,如果仅仅运行了两个Vert.x实例,那么这种情况下Verticle不会被发布,必须要运行至少三个Vert.x实例,才会执行发布Deploy流程,Undeploy流程类似) * [setWarningExceptionTime](http://vertx.io/docs/apidocs/io/vertx/core/VertxOptions.html#setWarningExceptionTime-long-) 如果线程阻塞时间超过了这个阀值,那么就会打印警告的堆栈信息,默认为5l * 1000 * 1000000,单位ns,即5秒; > 之后还有大招,请关注http://quanke.name/ ,马化腾群:231419585 此文参考: http://dwz.cn/32dhMF 感谢戒子猪

(编辑: quanke_)

网友评论
相关文章