- 博客(14)
- 收藏
- 关注
原创 通过jvisualVM远程监控java进程
8.打开本地 jvisualvm.exe, 点击远程, 输入监控的服务器ip add JMX Connection添加端口8066。启动脚本中添加参数,hostname为当前服务器的地址, 此例为中使用10.150.133.2。创建jstatd.all.policy程序文件, 并修改新程序文件权限。到新建的jstatd.all.policy文件中。启动此程序, 占用端口, 此例中使用8066。防火墙开放jmx端口, 第5步中的指定的端口。touch追加 或者 vi复制代码。找到JAVA_HOME。
2024-09-13 11:25:12 334
原创 Netty TCP 服务端探测工具
在基于netty的应用中部分场景需要自动识别远端服务,通常是在业务通信前的握手阶段进行识别, 识别指定的服务端并执行相应的逻辑
2024-05-31 12:19:17 260 1
原创 Netty TCP 客户端/服务端 通用模板
我见过很多使用netty的项目, 他们对Nettyx中组件的使用五花八门,各种曲线救国,各种妥协, 各种凌乱, 为此Nettyx提供了基础的TCP通信模板, 分为客户端(client)和服务端(server)的抽象模板, 意欲为netty的使用建立一种范式,暂且不讲好坏,有范式总比没有好, 说不定也没有你们的模板好,手动狗头保命
2024-03-26 22:42:26 577
原创 Netty OpenSsl
网络世界 君子还是少数, 为了防范不法分子窃取我们的消息, 一般都会对消息进行加密.当然这场景相对于Java来说还是少数, 毕竟现在大部分已经上各种云,服务和服务之间通信不需要经过公网但如果你的通信链路可能需要经过外网, 那么极其建议你套一层安全层!!
2024-02-28 17:00:37 1660 1
原创 Java串口通信 最佳实践
如果你的领导让你用java来进行串口交互, 那他一定有问题, Nettyx对串口的支持完全来自jsc, 支持简单的对jsc进行了扩展, 也提供了CommPorts这种串口工具类那正文开始了, 先引入Nettyx的依赖
2024-02-28 14:52:24 1037
原创 Netty 出入站日志
一般而言, 基于Netty的应用都会在核心业务步骤加上日志, 用来观察业务状况, 或者如果线上出现问题, 进行问题的排查,业务可以加, 但是无能毫无目的的加, 也不能什么关键信息都打印, 如果有用户, 则要打印用户id, 订单则打印订单id, 为了简化日志的使用Nettyx对出入站日志进行了简单的封装先导入Nettyx依赖
2024-02-28 14:42:38 445
原创 Netty 心跳
一般而言, 个人极其建议在应用中添加业务心跳, 如果将应用的稳定性寄托在tcpkeepalive, 当出现类似拔网线这种操作时, 应用将无法感知当然这区分服务端和客户端, 两者策略不同, 具体场景具体对待.正文开始, 先引入Nettyx的依赖
2024-02-27 16:39:56 236
原创 Netty 断线重连 保连机制
保连是Netty客户端必须实现的一个重要功能, 因为netty并没有提供直接的实现, 所以Nettyx提供了InboundAdvice, ActionableChannelFutureListener来进行保连我知道你很急,但是你先别急. 先导入依赖
2024-02-27 15:27:29 438
原创 Netty ChannelAdvice 出入站建言
用过Netty的小伙伴都知道, 当我们使用了Netty, 就意味着我们使用了Netty……就意味着我们不仅需要处理业务数据, 还需要围绕添加相当一部分的逻辑, 比如断线重连, 心跳, ack, 重试,读闲置, 写闲置, 高低水位线等等进行设置, 此部分的逻辑一般不建议和业务处理器耦合在一起,不仅可读性差, 难维护, 还会引发歧义, 为此Nettyx提供了InboundAdvice和OutboundAdvice来解决此类问题。
2024-02-26 16:55:24 680
原创 Netty IO事件扩展
我们知道Spring提供了容器事件,可以通过ApplicationContext.publish进行事件发布, 为了和此技术进行集成, nettyx提供了ChannelEvent系列对象。ChannelEvent包含了 入站(Inbound) 和 出站(Outbound) 的事件扩展。现阶段绝大部分Java应用几乎都集成Spring, 它们就像是豆浆和油条.
2024-02-26 16:07:43 367
原创 Netty Channel IO 事件拦截器, 自定义握手器 最佳实践
如果后续恢复所有拦截器, 则可以调用ChannelInterceptors.resetAll(), 即可恢复所有拦截器, 如果只需要恢复单个拦截器直接从ChannelPipeline中根据名字获取handler, 强转之后调用reset即可。接触过物联网的小伙伴都知道, 很多私有协议在正式通信前都需要进行握手这一操作, 如果握手失败将无法进行后续的业务通信。例如在通信前可能需要确认设备型号, 协议版本, 元信息版本, 设备状态地域等等, 这些都是必须在业务通信前要确定。后续框架升级会更新此文档。
2023-12-13 15:04:11 443
原创 Netty 跨平台序列化 Java解析C/C++结构体最佳实践之一 对象配置
nettyx是基于netty 4.1.101.Final版本二次封装的框架,扩展了一些工具, 其中最重要的功能便是Java跨平台序列化, 接下来将展示如何接收并解析成C的结构体.想要定义struct, 必须先从基础类型开始:那就先定义C中的char和long这两个类型// Basic为nettyx中提供用于定义C基础类型的抽象模板类, 所有基础类型必须实现此类 import org . fz . nettyx . serializer . typed . Basic;/**
2023-12-13 12:15:52 774
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人