Comments (12)
I just tried with 1.1.0.beta1 and did NOT get the same warning, so this seems to be a regression from 1.1.0.beta1.
from wasync.
Tyr configuring yourself the Options.runtime(AsyncHttpClient) and use the Options when creating the client. That should fix your issue.
from wasync.
What has changed since 1.1.0.beta1 that could cause it? Do you know what I should configure in AsyncHttpClient in order to solve it?
from wasync.
BTW, AHC (the client under the hood) doesn't use the HashedWheelTimer ... are you using Netty server side somewhere?
from wasync.
Nope, no other library than wasync (and swing) used in the project.
from wasync.
Still getting the same warning when using runtimeShared(true) with version 1.0.0-20138408.145120-16.
from wasync.
I have done some further investigation, and it seems that 3 new threads are created for every new connection.
Beta 1, 5 connections created:
Beta 1, 10 connections created:
SNAPSHOT, 5 connections created:
SNAPSHOT, 10 connections created:
from wasync.
Salut, I've added the following test, which open 1000 connections without any issues, and the test is inspired by your code. Which version of Netty are you using under the hood? Maybe the number of threads is caused by a change in AHC or Netty. Can you try current SNAPSHOT with the Netty's version and AHC version shipped in 1.0.0.beta? Thanks
from wasync.
A difference to my implementation is that I have the code in a Runnable and distribute the load on a few threads.
Seems like Netty 3.4.4 is used with beta1 and Netty 3.6.3 is used with RC1. I saw your tweet about 3.6.5.Final yesterday, so maybe I just need to update Netty when using RC1. But yeah, I can try using SNAPSHOT and older versions of Netty and AHC.
from wasync.
I wasn't able to build the current wasync SNAPSHOT with AHC 1.7.9 and Netty 3.4.4, something was wrong with the tests and they never finished.
from wasync.
And now I built it with AHC 1.7.12 and Netty 3.6.5.Final and still getting the warning mentioned in the first post, even when using runtimeShared(true).
from wasync.
Jeanfrancois solved the problem for me, the error was in my own code.
When creating many clients, at least AsyncHttpClient has to be shared between connections like this:
AsyncHttpClient ahc = new AsyncHttpClient();
Client client = ClientFactory.getDefault().newClient();
RequestBuilder request = client.newRequestBuilder();
request.transport(Request.TRANSPORT.WEBSOCKET);
request.method(Request.METHOD.GET);
Socket socket[] = new Socket[1000];
for (int i = 0; i < 1000; i++) {
socket[i] = client.create(client.newOptionsBuilder().runtime(ahc).runtimeShared(true).build());
socket[i].open(request.build());
socket[i].fire("HELLO");
}
from wasync.
Related Issues (20)
- Atmosphere streaming problem HOT 2
- Documentation link broken HOT 1
- WebSocketTransport - are ignoring the first text frame HOT 2
- TrackMessageSizeDecoder is aborting messages that contain "__" in the body
- NPE: scheme when opening the socket HOT 1
- reconnect with long-polling transport
- Bug in TransportsUtil.java HOT 5
- Simple HTTP pooling
- Not able to receive some specific data on Android wAsync client HOT 1
- Issue with QueryParams - string becomes too long after a number of reconnect attempts HOT 4
- Update to latest Netty HOT 2
- Exception on Socket.close()
- Nullpointer exception in atmosphere runtime 2.0.3 version HOT 1
- travis CI fails with dist: not set to trusty
- Fix build status banner to point to travis-ci.
- SSLv2Hello HandshakeException
- java.io.IOException: Connection Error 200
- Can Atmosphere be used for persistent connection from behind the firewall?
- Incomplete padding messages are propagated to message Function<String> with long-polling
- StreamTransport triggers Event.REOPENED after each message when protocol is enabled HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wasync.