Add HikaryCP to pool db connections

This commit is contained in:
Hubert Van De Walle 2020-04-25 14:17:52 +02:00
parent 6fbb7f7050
commit 9986e7a2d2
4 changed files with 17 additions and 40 deletions

1
.gitignore vendored
View File

@ -118,3 +118,4 @@ dist
# Service worker # Service worker
sw.* sw.*
*.private.env.json

View File

@ -1,10 +1,10 @@
# Register a new user # Register a new user
POST http://localhost:8081/login POST http://localhost:8081/user/login
Content-Type: application/json Content-Type: application/json
{ {
"username": "hubert", "username": "{{username}}",
"password": "test" "password": "{{password}}"
} }
> {% > {%
@ -23,32 +23,3 @@ client.test("Request executed successfully", function() {
client.assert(response.status === 200, "Response status is not 200"); client.assert(response.status === 200, "Response status is not 200");
}); });
%} %}
### Create a note
POST http://localhost:8081/notes/tortue
Content-Type: application/json
Authorization: Bearer {{token}}
{
"tags": [
"Dev",
"Server"
]
}
> {%
client.test("Request executed successfully", function() {
client.assert(response.status === 201, "Response status is not 200");
});
%}
### Read a note
GET http://localhost:8081/notes/babar
Content-Type: application/json
Authorization: Bearer {{token}}
> {%
client.test("Request executed successfully", function() {
client.assert(response.status === 200, "Response status is not 200");
});
%}

View File

@ -128,6 +128,11 @@
<artifactId>jbcrypt</artifactId> <artifactId>jbcrypt</artifactId>
<version>${jbcrypt_version}</version> <version>${jbcrypt_version}</version>
</dependency> </dependency>
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>3.4.2</version>
</dependency>
</dependencies> </dependencies>
<build> <build>
<sourceDirectory>${project.basedir}/src</sourceDirectory> <sourceDirectory>${project.basedir}/src</sourceDirectory>

View File

@ -1,11 +1,12 @@
package be.vandewalleh.features package be.vandewalleh.features
import be.vandewalleh.auth.SimpleJWT import be.vandewalleh.auth.SimpleJWT
import com.zaxxer.hikari.HikariConfig
import com.zaxxer.hikari.HikariDataSource
import io.ktor.application.* import io.ktor.application.*
import org.kodein.di.Kodein import org.kodein.di.Kodein
import org.kodein.di.generic.bind import org.kodein.di.generic.bind
import org.kodein.di.generic.instance import org.kodein.di.generic.instance
import org.mariadb.jdbc.MariaDbDataSource
import javax.sql.DataSource import javax.sql.DataSource
/** /**
@ -18,15 +19,14 @@ fun Application.configurationFeature() {
val host = property("database.host").getString() val host = property("database.host").getString()
val port = property("database.port").getString() val port = property("database.port").getString()
val name = property("database.name").getString() val name = property("database.name").getString()
val user = property("database.user").getString()
val password = property("database.password").getString()
val url = "jdbc:mariadb://$host:$port/$name" val hikariConfig = HikariConfig().apply {
jdbcUrl = "jdbc:mariadb://$host:$port/$name"
MariaDbDataSource(url).apply { username = this@with.property("database.user").getString()
this.user = user password = this@with.property("database.password").getString()
setPassword(password)
} }
HikariDataSource(hikariConfig)
} }
val simpleJwt = SimpleJWT(environment.config.property("jwt.secret").getString()) val simpleJwt = SimpleJWT(environment.config.property("jwt.secret").getString())