This version (2017/05/27 13:44) is a draft.
Approvals: 0/1

[03:25:29] <steve1985_> is there anyway to use nodejs modules in a verticle?

[08:49:10] <pmlopes> good morning temporalfox

[08:49:21] <temporalfox> pmlopes good morning, how are you doing N

[08:49:22] <temporalfox> ?

[08:49:40] <Ashe`> maybe it's time for a repeat

[08:49:58] <Ashe`> hello; small questions (I'm 100% new to vert.x): I'd like to use vert.x as an API gateway, where I basically give vert.x a bunch of “api” jars (they are JAX-RS interfaces) and want to go through a single proxy from which I'll forward the requests to the actual implementations

[08:50:03] <Ashe`> 1) does vert.x play nicely with JAX-RS and CXF?

[08:50:11] <Ashe`> 2) does the maven service factory allow completely unloading/reloading of jars (like, to upgrade versions of the same classes)

[08:50:17] <pmlopes> i am doing good after a weekend of rain it seems that i will get a nice monday :)

[08:50:29] <temporalfox> pmlopes always sunny here :-)

[08:51:50] <temporalfox> pmlopes would you mind to review this codegen PR https://github.com/vert-x3/vertx-codegen/pull/50 ?

[08:52:11] <pmlopes> temporalfox, i've reverted a pr i've made on friday on core, could you review it and merge? basically it fixes the build and makes things right. We though of escaping http headers but that is wrong, after reading the http spec it would be a bad idea since we are diverging from the RFCs

[08:52:25] <pmlopes> yes i will review it

[08:52:25] <temporalfox> pmlopes fair enough

[08:52:32] <temporalfox> so I need to review a revert ?

[08:52:46] <pmlopes> not really it is a pure revert :)

[08:52:54] <pmlopes> but i can't merge it myself

[08:52:57] <temporalfox> ah ok

[08:54:17] <pmlopes> out of curiosity why does enums need to be annotated with vert.x gen? they all inherit from java.lang.Enum wouldn't that need enough?

[08:55:31] <temporalfox> pmlopes they need to be annotated so they are processed by the compiler

[08:55:58] <temporalfox> otherwise they won't appear in the list of elements to process

[08:56:30] <temporalfox> and also it's possible to use some unannotated enums like existing java enum

[08:57:17] <pmlopes> ok, otherwise you would need to search the whole runtime for any enum class and generate lots of stuff that is not needed

[08:57:22] <pmlopes> clar

[08:57:24] <pmlopes> clear

[08:58:21] <temporalfox> pmlopes yes and that would be a bit magic

[08:58:55] <temporalfox> pmlopes I would also need to determine if the referenced enum is part of the current compilation or not

[08:59:14] <temporalfox> because you can still use an enum from another module in codegen

[08:59:26] <temporalfox> for instance I think you reuse the HttpMethod enum from vertx-core

[08:59:29] <temporalfox> in vertx-web

[09:23:52] <temporalfox> pmlopes so what's on your plate this week ?

[09:30:37] <pmlopes> temporalfox, i've a 2 bugs to solve on web and from there i am researching automated testing of vertxbus.js file and any open tasks…

[09:30:52] <pmlopes> do you have anything i can help?

[09:31:21] <temporalfox> I think we need to review various projects and look at pending 3.1 issues

[09:31:31] <temporalfox> I'm going to look at a couple of them I assigned myself last week

[09:31:38] <temporalfox> but they look quite minor

[09:32:24] <pmlopes> ok, i'll do the same, i'll go over the open issues on all projects and see what i can do

[09:32:25] <temporalfox> let's fix these issues first on each side and then we can look at this

[09:32:35] <pmlopes> ok

[09:32:44] <temporalfox> one thing we should do is test upgrade to Netty

[09:34:25] <pmlopes> yes and check if the new psql/mysql still works

[11:01:44] <temporalfox> pmlopes hi paulo, I'm seing this test failing HttpTest.testPKCS12InvalidPassword in vertx core

[11:01:47] <temporalfox> on my machine

[11:02:00] <temporalfox> “failed to decrypt safe contents entry: javax.crypto.BadPaddingException: Given final block not properly padded”

[11:02:06] <temporalfox> does it happen for you or ring a bell ?

[11:02:44] <pmlopes> no

[11:04:10] <temporalfox> ok

[11:04:29] <temporalfox> I used recently Oracle JDK 1.8.0_60

[11:04:33] <temporalfox> that might be that

[11:08:35] <pmlopes> it is that i switched from 45 to 60 and i also got the error

[11:43:17] <pmlopes> did you already pushed the netty update?

[13:08:35] <msavy> anyone know why 3.1.0-SNAPSHOT has disappeared from the repos? https://repository.jboss.org/nexus/content/groups/public/io/vertx/vertx-core/3.1.0-SNAPSHOT/

[14:22:05] <AlexLehm> msavy: its on the sonatype repo, not sure about jboss https://oss.sonatype.org/content/repositories/snapshots/io/vertx/vertx-core/3.1.0-SNAPSHOT/

[14:38:10] <amr> what's up with HttpClient taking two strings for a URL in getNow() ?

[14:45:04] <voidDotClass> one's for the url, one's for a spell in case if you wanted a blessing from the gods or something

[14:47:17] <AlexLehm> the first string is the host, the 2nd is the path starting from the first single /

[14:47:32] <amr> yeah, bit weird to split it up

[14:47:33] <AlexLehm> e.g. getNow(“www.google.com”, 80, “/webhp”);

[14:47:35] <amr> i wondered what the idea was

[14:48:10] <AlexLehm> i think in the 2.x implementation, the client was created with hostname and port and the used more than once to get an url from this server by writing the path only

[14:48:16] <amr> ah

[14:48:36] <AlexLehm> there is a variant with a complete url i think: http://vertx.io/docs/apidocs/io/vertx/core/http/HttpClient.html#getNow-java.lang.String-io.vertx.core.Handler-

[14:49:01] <amr> tried that, hits localhost, which i assume is the default host and port

[14:49:25] <amr> which i guess i set through some opts when i create the object

[14:49:25] <AlexLehm> ah ok

[14:49:56] <amr> i mean its no biggie, just a really weird api

[14:50:03] <voidDotClass> agreed

[14:50:24] <AlexLehm> ah, the default host is in HttpClientOptions

[14:50:34] <amr> yeah, im not sure what the usecase for that is

[14:51:16] <AlexLehm> calling a few api calls to the same host i assume

[14:51:32] <amr> yeah i guess

[14:53:43] <msavy> AlexLehm: thanks, have swapped around to use sonatype instead of jboss nexus

[17:02:21] <temporalfox> msavy hi

[17:03:16] <msavy> temporalfox: hi!

[17:03:23] <temporalfox> I'm working on the Map<String, Object> feature today

[17:03:33] <msavy> fantastic!

[17:03:36] <temporalfox> so I wanted to check with you what we mean by Object

[17:03:55] <temporalfox> so in this case, the feature is possible if the object is equivalent of a JsonObject

[17:04:09] <temporalfox> like List is equivalent of JsonArray

[17:04:28] <msavy> yes, that's how i'm using it presently

[17:04:34] <temporalfox> ok

[17:04:39] <msavy> let me give you an example

[17:04:57] <temporalfox> we could also make it work I think for some other types like basic, types or data object types I think

[17:05:15] <temporalfox> like Map<String, DataObject>

[17:05:19] <msavy> that would be really cool

[17:05:28] <msavy> but a lot more work, seemingly

[17:05:30] <msavy> https://github.com/apiman/apiman/blob/master/gateway/platforms/vertx3/vertx3/src/main/generated/io/apiman/gateway/platforms/vertx3/io/VertxServiceRequestConverter.java#L34

[17:05:37] <temporalfox> because basically it's the equivalent to a List that we support already

[17:06:44] <msavy> yeah, that'd be great. the less boiler-plate code i have to write, the happier i am

[17:07:33] <temporalfox> well now we support List of these types mapped to json array

[17:07:45] <temporalfox> so it makes sense to support also Map of the same type if we can

[17:07:59] <temporalfox> that would make the conversion stuff more useful

[17:08:27] <msavy> +1

[17:09:36] <msavy> your code-gen fu is rather amazing, i must say :o)

[17:10:09] <temporalfox> it must be I guess :-)

[19:16:02] * ChanServ sets mode: +o purplefox [20:20:44] <Lecherito> yay, finally a rest library with community [20:21:22] <Ashe`> hm yeah, asked a question 2 days ago, still waiting for anyone to notice me ;) [20:21:27] <Lecherito> lol [20:21:58] <Ashe`> but at least there was a place to type the question! [20:23:16] <Lecherito> be positive :D [20:32:36] <Lecherito> Do I have to have the same router in every Verticle? or can I create new Router.router(vertx) in each verticle [20:58:36] <AlexLehm> Ashe`: if you don't get a reply in the irc channel, you can try the google group [21:00:31] <Ashe`> I have infinite patience :D [21:00:48] <Ashe`> anyway I'll likely just develop some cxf module for vertx and be done with it [21:01:01] <Ashe`> the osgi part can wait [21:44:38] <Lecherito> Actually vert.x is not easy to understand at the very first [21:47:51] <Ashe`> suppose it depends where you come from [21:48:05] <Ashe`> I expect coming from JS with a bunch of callback or promises helps [21:48:15] <Ashe`> coming from basic java servlets, probably not :p [21:48:36] <Lecherito> Yep [21:48:42] <Lecherito> At work we are with Spring [21:48:47] <Ashe`> spring-mvc? [21:48:52] <Lecherito> So, pretty different [21:48:53] <Lecherito> yep [21:49:42] <Ashe`> suppose the closest would be async requests with servlet 3.x+ but those don't solve the same things [21:50:06] <Ashe`> or using some react-ish libs like the couchbase client [21:50:23] <Sticky> actor style will be alien to most people who work in java [21:58:46] <Lecherito> So true [22:08:48] <Lecherito> One of my concerns right now, is how to store my database connection or objects that I would need like everywhere [22:09:00] <Lecherito> I have seen sharedData but I am not sure about that [22:09:30] <Lecherito> do you know any doc about what i want to achieve? [22:09:31] <Ashe`> no TLS for you, that's for sure [22:10:00] <Ashe`> https://github.com/vert-x3/vertx-jdbc-client ⇐ this? [22:10:07] <Ashe`> or you want something like asynchronous hibernate? [22:11:23] <Sticky> yeah the jdbc/mongo/whatever-client handles keeping connections to the db open for you [22:12:17] <Lecherito> That sounds nice [22:14:21] <Lecherito> And for custom objects? [22:14:34] <Sticky> what do you mean? [22:14:37] <Lecherito> I plan to do my program like: [22:14:52] <Lecherito> N verticles, each one holds Y routings [22:15:11] <Lecherito> Each verticle needs a Store (an interface to do database calls) [22:15:28] <Ashe`> wouldn't they all be using the same database? [22:15:30] <Lecherito> Does that sound retarded? [22:15:34] <Lecherito> Yes [22:15:35] <Ashe`> (so fetching from the same connection pool) [22:16:02] <Lecherito> But methods would be like MapStore.findMap(long id), UserStore.findUser(long id) [22:16:04] <Lecherito> Etc [22:16:14] <Ashe`> ah, so the jpa/hibernate side [22:16:15] <Lecherito> And verticles would be MapVerticle, UserVerticle [22:17:24] <Ashe`> suppose you could build something nice with jooq [22:17:30] <Ashe`> but it's still a lot of code to write yourself [22:17:54] <Lecherito> I was actually using Restx with that config [22:18:07] <Lecherito> But I had a lot of problems (A LOT) with deploys [22:18:12] <Ashe`> doesn't sound like something for database access [22:18:26] <Lecherito> so I decided to give vertx a try! [22:19:23] * Ashe` has it easy, using vert.x for nothing but making http requests to other servers [22:19:37] <Lecherito> xDDD [22:20:16] <Sticky> you dont have to have an orm [22:22:15] <Lecherito> It's not an orm per se, it's my custom one which I need to do some tweaks to work as I need [22:25:31] * ChanServ sets mode: +o purplefox