小编Wes*_*ley的帖子

日期差异格式为天数小时分秒

有没有办法获得两个日期之间的剩余时间(差异)?

例如,我想让它返回6天,10小时,3分钟和37秒.

sql-server

9
推荐指数
1
解决办法
2万
查看次数

线程池执行时抛出异常时线程会发生什么?

线程池执行时抛出异常时线程会发生什么?

它会终止并被垃圾收集吗?

背景故事: 我正在使用a ScheduledThreadPoolExecutor不时地运行任务,而且它也被Netty使用.现在,使用此应用程序的客户告诉我,他们有时会注意到一堆客户端随机断开连接,每次发生这种情况时,都会记录来自单独的非网络相关任务的堆栈跟踪.我的假设是线程被中断并且垃圾被收集,因此Netty丢失了对线程的任何引用并断开了分配的tcp客户端.

java multithreading threadpool

7
推荐指数
2
解决办法
2610
查看次数

Maven 未将所有依赖项添加到 jar

我在 IntelliJ 中构建了一个简单的程序,并使用使用依赖项 io.netty 的 Maven。我已经添加到我的 POM 文件中:

    <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-all</artifactId>
        <version>4.1.0.Beta1</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

为了编译并获取 jar 文件,我通常这样做:

  • 干净的
  • 编译
  • 包裹

但是我注意到依赖项没有添加到 jar 中,既不存在于目标文件夹中(或其任何子文件夹中),也不像通常情况那样添加到资源文件夹中。

为了将 io.netty 库添加到 jar 中,我尝试过:

  • 设置提供和编译的范围。
  • 重新导入pom文件。
  • 删除 .m2/repository/ 文件夹中的 io.netty 文件夹。

我还链接了其他几个库,包括:

  • mysql-连接器-java
  • slf4j-简单
  • 特洛夫4j

谢谢阅读。

java intellij-idea maven

6
推荐指数
1
解决办法
1万
查看次数

网路频道阅读未收到完整讯息

为什么channelRead()没有给我发送到服务器的完整消息?当消息超过140字节时(有时,有时更多,有时更少),有时会发生碎片。我正在使用使用NioServerSocketChannel类的TCP套接字。

我正在使用4.1.0.Beta5。

到达后,没有办法阅读完整的消息吗?

this.serverBootstrap = new ServerBootstrap();
this.serverBootstrap.group(new NioEventLoopGroup(1), new NioEventLoopGroup(6))
                .channel(NioServerSocketChannel.class)
                .childHandler(new ChannelInitializer<SocketChannel>()
                {
                    @Override
                    public void initChannel(SocketChannel ch) throws Exception
                    {
                        ch.pipeline().addLast(new TestServerHandler());
                    }
                })
                .option(ChannelOption.SO_BACKLOG, (int)Short.MAX_VALUE)
                .option(ChannelOption.SO_RCVBUF, (int) Short.MAX_VALUE)
                .option(ChannelOption.SO_KEEPALIVE, true)
                .option(ChannelOption.TCP_NODELAY, true);
this.serverBootstrap.bind(this.host, this.port);
Run Code Online (Sandbox Code Playgroud)

而TestServerHandler类扩展了ChannelInboundHandlerAdapter:

@Override
public void channelRead(ChannelHandlerContext ctx, Object msg) {

        String s = buffer.toString(CharsetUtil.UTF_8);

        for(int i = 0; i < 20; i++)
        {
            s = s.replace("[" + ((char)i) + "]", i + "");
        }

        System.out.println(s.length() + "");
        System.out.println();
        System.out.println();
        System.out.println(s);
}
Run Code Online (Sandbox Code Playgroud)

我需要一种方法来在完全到达服务器时获取完整的bytebuf / …

java netty

0
推荐指数
1
解决办法
2496
查看次数