>> The solution you propose would involve would establish a connection for each query? I'd imagine that would not perform too well.
I agree that it would not perform too well to establish a new connection at each query. Instead, I plan on using "long-lived" jdbc connections. At a client's first http query, it creates a JDBC connection, if successful, it adds that connection to a map and keeps it "alive". Every so often the connection is refreshed, and unused connections are reaped by a background thread. >>I suggest establishing a connection once with one API call, which returns a token. Then use that token with future queries instead of supplying the credentials with each API call. That is a good idea bout the token, but I am thinking about doing the following: I suggest requiring the user/pass at each request (which makes each request the same format), and I grab the long-lived connection from the map keyed to String(userName+pass+ipadress). This way a partciular client will aways get his connection back (assuming it has not been refreshed or reaped), and even if a different client uses the same username and password, they will still have their own connections (because the map of connection is keyed also to the client's ip address). In short: the http server maintains a set of connection pools (with default size of 1) for each client that connects, and it reaps the connections periodically. >> Maybe this project is what you are looking for >>https://github.com/bjornharrtell/jdbc-http-server This is interesting, thanks for sharing it. But, there are a few limitations to that project (if I understand it correctly) 1. It does not use standard "raw" sql for select/updates/insert/etc. Instead, it uses a custom url (parameter based) format that, while being very REST-like, is non standard. 2. According to the doc, the non-standard format can't handle more complex queries 3. Does not take advantage of prepared statements. Instead, I suggest a format that uses normal sql and allows prepared statements, which is delivered via a json string in the HTTP post, example: { user: 'dbUserName', pass: 'password', sql: "select * from users where name=? AND isIdiot=?", params: ['Adam', true] } returns the result, something like: [ { name: "Adam", isIdiot: true, country: "USA", language: "English" } ] On Friday, February 24, 2017 at 7:04:20 AM UTC-5, Manfred Rosenboom wrote: > > Maybe this project is what you are looking for > > https://github.com/bjornharrtell/jdbc-http-server > > Best, > Manfred > -- You received this message because you are subscribed to the Google Groups "H2 Database" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/h2-database. For more options, visit https://groups.google.com/d/optout.
