V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  xinQing  ›  全部回复第 1 页 / 共 2 页
回复总数  37
1  2  
2022-01-28 16:40:47 +08:00
回复了 binbinyouliiii 创建的主题 Java Javaer 用了一下 Go web 开发,感觉开发体验倒退了
web 项目用 go 不是搞人心态么,事务处理起来不难受么。。interface{}、err 满天飞。

go 搞一些基础组件,网络中间件啥的挺好的。
2022-01-28 16:20:32 +08:00
回复了 passer9527 创建的主题 Java springboot 单机 qps 只有 2000 合理吗?
单机居然有这么多,我们单机 qps 只有 100
2022-01-28 16:12:44 +08:00
回复了 Geekerstar 创建的主题 Java openfeign 调用的时候如何去除统一响应封装
我也遇到过这样的,我是跟 8 楼一样的做法,搞个自定义 decoder 去拆包,如果发现错误就统一抛出,正常就拆包后,根据返回对象反序列化。
2021-05-31 09:57:29 +08:00
回复了 Blueming 创建的主题 Java 集群环境下如何缓存 netty-socketio 的客户端连接信息
哈哈,这个我来发个言。我 17 年刚毕业那会儿做基于 websocket ( netty 实现)的连接助手,有 4 台机器( A 、B 、C 、D )。思路是每台机器管理自己的连接。
比如:A 上面有 1,2,3,4 ; B 上面有 5,6,7,8 的连接。当 1 需要给 8 发消息,此时 1 的消息肯定是先发给 A (建立了连接)了,存储消息后,然后 A 发现 8 不再自己的机器上,将消息发给 redis (利用 redis 的发布订阅机器,每台机器都订阅)。A 、B 、C 、D 都收到了消息,D 发现自己上面有 8 的连接,则将消息转发给 8 。
当时做的比较简单,没有做针对性的机器间通讯(利用 redis 、zk 等做全局路由表),比如 A 发现 8 在 D 机器上,直接调用 D 的 rpc 接口。
数据分批次从数据库查出,写入 response
2020-05-22 08:55:06 +08:00
回复了 tjq 创建的主题 Java 推广下自己的开源项目:分布式调度与计算框架—OhMyScheduler
可以啊
@liugp5201314 说了啊,你写的有问题,你看看 org.springframework.web.util.ContentCachingRequestWrapper 用 ByteArrayInputStream 缓存数据,使流支持可重复读取
2020-05-13 18:20:09 +08:00
回复了 NoKey 创建的主题 Java 你在 Java 里用 try-catch 多不?
Hibernate validator 校验参数;抛出异常,全局处理。
同一楼、二楼
2020-05-13 18:18:17 +08:00
回复了 jinzhongyuan 创建的主题 Java 为什么 feign 的源码喜欢一个类文件里面 好多内部类?
都是有个平衡点的,写一起,代码太多看起来也不舒服;分开后又很多文件,每个才几行代码。公司里面更喜欢分开,团队人多,都改同一个文件冲突太频繁了。这种事情不纠结,自己团队习惯就行
2020-05-13 18:06:01 +08:00
回复了 peterpei 创建的主题 Java 关于 Java io 的一些问题
哈哈,解码错咯。建议用 netty 这样的网络库,自己用 Inputstream 拿自己做宝搞
哈哈,我遇到过类似的问题。搞了个过滤器过滤请求内容,然后 controller 里面的数据拿不到了。这是因为正常情况下流只能处理一次,你过滤器消费了,后续就没有了。你要采用 warpper 包装 Request,让 Request 支持可重复消费。spring 可以用这个包装下 org.springframework.web.util.ContentCachingRequestWrapper
2020-05-13 17:41:17 +08:00
回复了 jinzhongyuan 创建的主题 Java 为什么 feign 的源码喜欢一个类文件里面 好多内部类?
因为是内部类哇
2020-05-13 09:13:56 +08:00
回复了 xinQing 创建的主题 Java 基于 groovy 实现公式库
@w292614191 我们主要是实现表单公式(比如,表单字段涉及数据变换、依赖),excel 这块到没有涉略噢
2020-05-13 09:12:00 +08:00
回复了 xinQing 创建的主题 Java 基于 groovy 实现公式库
@pkwenda 初略测试下来,单次公式计算在 10ms 以下(主要看实现的代码,内存计算都相当快)。
@xgfan 可以哈
@zotobcs 好的,试试哈
spark
2019-05-09 14:55:05 +08:00
回复了 hbs2019 创建的主题 程序员 个人网站正式开通上线~
讲道理 ui 有点丑哇
2019-04-30 10:00:37 +08:00
回复了 Graves 创建的主题 Java springboot 集成了 netty,启动后内置 tomcat 没有启动?
你是不是启动 netty 阻塞了 main 啊,用一个新的线程启动 netty 就好了。我之前在 spring boot 中集成 netty 做 websocket 聊天,是在 spring 容器刷新后,再用新线程启动 netty 服务。下面的事例代码可以参考下:

/**
* spring 容器刷新时启动 netty 的 WebSocket 服务
*
* Created by xuan on 2018/3/5
*/
@Component
public class ApplicationRefreshListener implements ApplicationListener<ContextStartedEvent> {

private static final Logger LOG = LoggerFactory.getLogger(ApplicationRefreshListener.class);

private ExecutorService webSocketSinglePool;

@PostConstruct
public void setup() {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("webSocketSinglePool-%d").build();
webSocketSinglePool = new ThreadPoolExecutor(1, 1, 0L,
TimeUnit.MILLISECONDS, new LinkedBlockingQueue<>(1024),
namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
LOG.info("webSocketSinglePool init.");
}

@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
runWebSocketServer(event.getApplicationContext());
}

private void runWebSocketServer(ApplicationContext applicationContext) {
final WebSocketServer webSocketServer = applicationContext.getBean(WebSocketServer.class);
webSocketSinglePool.execute(() -> {
try {
webSocketServer.listenAndServe();
} catch (Exception e) {
LOG.error("webSocket listen and serve error.", e);
}
});
}

@PreDestroy
public void cleanup() {
webSocketSinglePool.shutdown();
LOG.info("webSocketSinglePool destroyed.");
}

}
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2774 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 00:24 · PVG 08:24 · LAX 16:24 · JFK 19:24
Developed with CodeLauncher
♥ Do have faith in what you're doing.