首页   注册   登录
 xinQing 最近的时间轴更新

xinQing

V2EX 第 285361 号会员,加入于 2018-01-22 15:50:05 +08:00
xinQing 最近回复了
@xgfan 可以哈
@zotobcs 好的,试试哈
spark
220 天前
回复了 hbs2019 创建的主题 程序员 个人网站正式开通上线~
讲道理 ui 有点丑哇
你是不是启动 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.");
}

}
230 天前
回复了 darkem4869 创建的主题 Java 关于管理 storm bolt 运行时间的问题
storm 没这样玩啊,都是常驻运行,关掉干啥,复用不行么
这个 webmagic 很成熟了啊,源码也比较简单,推荐使用~
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4287 人在线   最高记录 5043   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.3 · 14ms · UTC 03:38 · PVG 11:38 · LAX 19:38 · JFK 22:38
♥ Do have faith in what you're doing.