Tôi nhận được cảnh báo sau khi ứng dụng Akka 1.2 dựa trên tôi cố gắng làm việc với hơn 500 hoặc lâu hơn nút lưới:Akka cảnh báo về "Quá nhiều trường hợp HashedWheelTimer"
Jan 05, 2012 1:36:43 PM org.jboss.netty.util.internal.SharedResourceMisuseDetector
WARNING: You are creating too many HashedWheelTimer instances.
HashedWheelTimer is a shared resource that must be reused across the application, so that only a few instances are created.
Tôi sẽ đào sâu hơn vào mã Akka để tìm ra nơi HashedWheelTimer đang được sử dụng và những gì tôi nên làm để tránh quá nhiều những người được tạo ra. Trong khi tôi làm điều đó, tôi nghĩ rằng tôi sẽ đăng cảnh báo ở đây trong trường hợp một trong những chuyên gia có thể cho tôi một hoặc hai con trỏ có thể thu hẹp và tăng tốc độ tìm kiếm của tôi, xin vui lòng?
Sử dụng Akka 1,3 RC6, tôi nhận được ngoại lệ sau đây:
Jan 12, 2012 1:24:38 PM org.jboss.netty.util.HashedWheelTimer
WARNING: An exception was thrown by TimerTask.
org.jboss.netty.channel.ChannelException: Failed to open a socket.
at org.jboss.netty.channel.socket.nio.NioClientSocketChannel.newSocket(NioClientSocketChannel.java:49)
at org.jboss.netty.channel.socket.nio.NioClientSocketChannel.<init>(NioClientSocketChannel.java:83)
at org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory.newChannel(NioClientSocketChannelFactory.java:139)
at org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory.newChannel(NioClientSocketChannelFactory.java:86)
at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:218)
at org.jboss.netty.bootstrap.ClientBootstrap.connect(ClientBootstrap.java:188)
at akka.remote.netty.ActiveRemoteClient.connect(NettyRemoteSupport.scala:470)
at akka.remote.netty.ActiveRemoteClientHandler$$anonfun$channelClosed$1$$anon$4.run(NettyRemoteSupport.scala:599)
at org.jboss.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:519)
at org.jboss.netty.util.HashedWheelTimer$Worker.notifyExpiredTimeouts(HashedWheelTimer.java:440)
at org.jboss.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:379)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.net.SocketException: Too many open files
at sun.nio.ch.Net.socket0(Native Method)
at sun.nio.ch.Net.socket(Net.java:323)
at sun.nio.ch.Net.socket(Net.java:316)
at sun.nio.ch.SocketChannelImpl.<init>(SocketChannelImpl.java:101)
at sun.nio.ch.SelectorProviderImpl.openSocketChannel(SelectorProviderImpl.java:60)
at java.nio.channels.SocketChannel.open(SocketChannel.java:142)
at org.jboss.netty.channel.socket.nio.NioClientSocketChannel.newSocket(NioClientSocketChannel.java:47)
... 11 more
Cảm ơn Dan, bạn đã đánh bại tôi để chỉnh sửa ... –
Quả cầu pha lê của tôi không thể xác định phiên bản Akka bạn đang chạy. –
Lời xin lỗi của tôi; Tôi đã chỉnh sửa bài đăng để phản ánh rằng tôi đang sử dụng Akka 1.2. –