附录 Netty参数配置表

附录A Netty参数配置表

  1. 内存池堆内存内存区域的个数,默认Math.min(runtime.availableProcessors(),Runtime.getRuntime().maxMemory()/defaultChunkSize/2/3)
    • -Dio.netty.allocator.numHeapArenas
  2. 内存池直接内存内存区域的个数,默认Math.min(runtime.availableProcessors(),Runtime.getRuntime().maxMemory()/defaultChunkSize/2/3)
    • -Dio.netty.allocator.numDirectArenas
  3. 一个page的内存大小,默认值8192
    • -Dio.netty.allocator.pageSize
  4. 用于计算内存池中一个Chunck内存的大小:默认11,计算公式:1Chunck=8192 << 11 = 16MB
    • -Dio.netty.allocator.maxOrder
  5. 一个Chunck内存的大小,如果没有配置,默认值为pageSize << maxOrder = 16M
    • -Dio.netty.allocator.chunkSize
  6. Netty的JDK SelectionKey优化开关,默认关闭
    • -Dio.netty.onKeySetOptimization
  7. 重建selector的阀值,修复JDK NIO多路复用器死循环问题࿰
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Netty是一种基于NIO的客户端/服务器框架,用于快速开发可维护的高性能的协议服务器和客户端。而MQTT(Message Queuing Telemetry Transport)是一种轻量级的通信协议,适用于物联网设备之间的通信。 要在Netty配置多个topic,首先需要创建一个MqttServer对象,然后设置MqttServer的Options。在Options中,可以配置多个topic的订阅和发布,例如: ```java MqttServer server = new MqttServer(); server.options() .addTopicSubscription("topic1", MqttQoS.AT_LEAST_ONCE, message -> { // 处理topic1收到的消息 }) .addTopicSubscription("topic2", MqttQoS.EXACTLY_ONCE, message -> { // 处理topic2收到的消息 }) .addTopicPublication("topic3", MqttQoS.AT_LEAST_ONCE) .addTopicPublication("topic4", MqttQoS.EXACTLY_ONCE); ``` 在这个例子中,我们创建了一个MqttServer对象,然后使用options()方法获取MqttServerOptions对象,并通过addTopicSubscription()方法添加了两个订阅的topic(topic1和topic2),并分别设置了它们的QoS和处理消息的回调函数。同时,我们也添加了两个发布的topic(topic3和topic4),并设置了它们的QoS。 通过上面的配置Netty将会同时接收并处理这四个topic的消息,并且能够向这四个topic发布消息。 除了上述方法,还可以使用wildcard topic的方式来配置多个topic,例如使用“#”示匹配所有子级topic,或者使用“+”示匹配单级topic。这样一来,就可以更灵活地配置多个topic的订阅和发布。 总之,在Netty配置多个topic是非常简单的,通过合适的调用MqttServerOptions的方法,就能够实现对多个topic的灵活配置

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值