Differences

This shows you the differences between two versions of the page.

Link to this comparison view

irc:1463349600 [2017/05/27 13:44]
irc:1463349600 [2017/05/27 13:44] (current)
Line 1: Line 1:
 +[00:31:19] *** ChanServ sets mode: +o temporalfox
 +
 +[02:25:38] <jejohnso> Is 2.1.4 the last Vert.x to use python?
 +
 +[10:00:25] *** ChanServ sets mode: +o temporalfox
 +
 +[10:41:13] <LostCoder> I need some help understanding how connection pooling works with HttpClient.
 +
 +[10:42:15] <LostCoder> specifically with websockets
 +
 +[10:42:56] <LostCoder> as far as I understand using the rest part of the client reuses connections (with tcp keep alive enabled by default)
 +
 +[10:43:10] <LostCoder>  HttpClient client = vertx.createHttpClient().post(8080,localhost,"/")...  will re use connection
 +
 +[10:43:37] <LostCoder> but what about client.websocket(port,url .... ?
 +
 +[10:52:11] <LostCoder> does websocket.close() put the connection back into the pool?
 +
 +[11:32:11] <LostCoder> I created a quick example that shows my use case (a simple websocket service that base64 encodes data).
 +
 +[11:32:22] <LostCoder> https://github.com/seanjburns/playground/blob/master/src/main/java/org/lostcoder/vertx/websocket/Client.java
 +
 +[11:33:15] <LostCoder> Now when I run my unit test, it seems to create 10 websocket connections. What I would like to do is "reuse" the same connection 10 times.
 +
 +[11:33:16] <LostCoder> https://github.com/seanjburns/playground/blob/master/src/test/java/org/lostcoder/vertx/websocket/ServerTest.java
 +
 +[11:33:28] <LostCoder> What do I need to change on the client?
 +
 +[11:34:22] <LostCoder> or am I thinking about the solution in the wrong way?
 +
 +[12:13:19] *** ChanServ sets mode: +o temporalfox
 +
 +[13:41:31] <temporalfox> hi AlexLehm
 +
 +[14:03:23] <AlexLehm> hello temporalfox
 +
 +[14:03:45] <temporalfox> I started something you might be interested contributing to
 +
 +[14:03:51] <AlexLehm> i have a netty question relating to the proxy implementation i have done
 +
 +[14:03:54] <AlexLehm> ok
 +
 +[14:04:01] <temporalfox> do you know traeffik ?
 +
 +[14:04:34] <temporalfox> traefik actually
 +
 +[14:04:52] <temporalfox> I started something similar with vertx
 +
 +[14:05:22] <temporalfox> the idea is to expose easily such services with vertx in front
 +
 +[14:06:39] <AlexLehm> never heared of this, but i can take a look
 +
 +[14:07:54] <temporalfox> https://github.com/vietj/vertx-reverse-proxy
 +
 +[14:08:04] <temporalfox> actually a friend mentionned this a couple of days ago
 +
 +[14:08:12] <temporalfox> because they have docker services and are a java shop
 +
 +[14:08:18] <temporalfox> and they would like to have something similar but in java
 +
 +[14:08:43] <temporalfox> also it's a good way for to improve the vertx http client / server
 +
 +[14:10:37] <temporalfox> what's your question regarding proxy ?
 +
 +[14:10:45] <temporalfox> I think you started to look at socks proxy ?
 +
 +[14:11:48] <AlexLehm> yes, i have implemented a "merged" channel provider to support both HTTP and SOCKS5, which kind of works
 +
 +[14:12:12] <AlexLehm> I noticed a thing in Netty that I didn't understand at first
 +
 +[14:12:40] <AlexLehm> the http connect proxy uses a user event to trigger the channel handler called ProxyConnectEvent or something
 +
 +[14:12:46] <AlexLehm> this part is actually from you
 +
 +[14:12:53] <AlexLehm> from your code
 +
 +[14:13:37] <AlexLehm> when I implement the same thing in NetClient, the proxy connect event is never triggered so I am calling the handler in the bootstrap connect future
 +
 +[14:13:44] <temporalfox> yes I used that I think to then do actual pipeline configuration
 +
 +[14:13:49] <temporalfox> specially for HTTP/2
 +
 +[14:14:07] <AlexLehm> this works, but I not quite getting why the proxy event isn't triggered in my case
 +
 +[14:14:19] <temporalfox> only one way to know :-)
 +
 +[14:14:24] <temporalfox> debug
 +
 +[14:14:52] <AlexLehm> i think the HttpClient triggers the event, but the NetClient doesn't
 +
 +[14:15:36] <temporalfox> which event exactly ?
 +
 +[14:15:47] <temporalfox> ah I see
 +
 +[14:15:59] <temporalfox> the http proxy handler and the socks proxy
 +
 +[14:16:05] <temporalfox> both inherits from the same abstract proxy handler class
 +
 +[14:16:11] <temporalfox> and trigger the same event
 +
 +[14:17:46] <AlexLehm> ProxyConnectionEvent
 +
 +[14:18:35] <temporalfox> did you use wireshark ?
 +
 +[14:18:41] <temporalfox> to see what happens
 +
 +[14:19:32] <dns_> hi there! What is the preferable jdbc driver version for connect to PostgreSQL? I use org.postgresql (9.4-1200-jdbc41) and when I call a function with params provided by JsonArray postgresql raises an exception: org.postgresql.util.PSQLException: Can't infer the SQL type to use for an instance of io.vertx.core.json.JsonObject. What's wrong?
 +
 +[14:19:39] <AlexLehm> the request works correctly, the connection via socks5 is established
 +
 +[14:22:03] <AlexLehm> i can access https://www.google.de/ via my socks5 proxy with NetClient, so I think it is doing the proxy protocol correctly
 +
 +[14:23:01] <temporalfox> ok
 +
 +[14:23:08] <temporalfox> then you should debug the netty code
 +
 +[14:23:17] <temporalfox> add a breakpoint to see if the event is actually triggered or not
 +
 +[14:23:26] <temporalfox> Intellij can set breakpoint that only log on the console
 +
 +[14:27:04] <AlexLehm> ok i will do some more tests
 +
 +[14:29:03] <AlexLehm> ok, a somewhat related question, how can we test a socks proxy in Java? I am currently using Putty via a ssh tunnel which supports SOCKS5 but I have not found a socks server implementation in java
 +
 +[14:29:25] <temporalfox> I'm not a socks expert :-)
 +
 +[14:29:50] <temporalfox> one way is to make a tcp server
 +
 +[14:29:59] <temporalfox> and mock the sock server
 +
 +[14:30:06] <temporalfox> using expected byte arrays
 +
 +[14:30:07] <temporalfox> etc...
 +
 +[14:31:30] <AlexLehm> ok, that might work
 +
 +[14:32:00] <temporalfox> I need to go :-)
 +
 +[14:32:05] <temporalfox> today is holiday
 +
 +[14:32:44] <temporalfox> dns_ what postrgres type are you trying to use ?
 +
 +[14:33:24] <dns_> json
 +
 +[14:34:42] <AlexLehm> temporalfox: in germany as well, but today i have some time to progam :-)
 +
 +[14:34:54] <temporalfox> ahah so do I!!!
 +
 +[14:35:04] <temporalfox> so I started this reverse proxy :-)
 +
 +[14:35:18] <temporalfox> actually somoeone asked for having HttpConnection support in HTTP/1
 +
 +[14:35:30] <temporalfox> and now doing the reverse proxy, I see that it would rather be useful
 +
 +[14:35:49] <temporalfox> (so the proxy can close the http client connection if something wrong happens with the proxies request)
 +
 +[14:36:48] <temporalfox> dns_ looking at the tests in http client, I don't think we support it
 +
 +[14:37:04] <temporalfox> dns_ you should open an issue on vertx-jdbc-client project
 +
 +[14:37:49] <dns_> ok. thx!
 +
 +[14:54:08] <AlexLehm> dns_: do you have structured data as fields or similar in the json object or do you need to store that in a single column? maybe its possible to convert the json to string beforehand
 +
 +[14:55:55] <dns_> if I use text data type it works well
 +
 +[14:56:42] <dns_> error is only when PGdriver trying to convert JsonArray to json DB type.
 +
 +[15:00:02] <dns_> I have a verticle that have only one way to call statements in DB. All my functions consume one json parameter and produce json type.
 +
 +[15:19:20] <AlexLehm> dns_: ok, i guess you should create an issue on the github as julien said
 +
 +[15:21:53] <dns_> Yes. I did
 +
 +[15:58:51] *** ChanServ sets mode: +o temporal_
 +
 +[18:49:45] <BadApe> how can i set a NULL in an SQL prepared statement?