15 Ağustos 2021 Pazar

Quarkus

Quarkus'u Kim Geliştiriyor
Açıklaması şöyle. 2018 yılında geliştirilmeye başladı.
Quarkus, on the other hand, is developed and backed by RedHat, Inc., which is a well-known company in the programming world.
Quarkus Altta Ne Kullanır
Açıklaması şöyle
Quarkus depends heavily on the Vert.x toolkit and MicroProfile project. The Eclipse Foundation maintains both. 
Quarkus ve LiveRoad
Kodda değişikli olunca JVM'in tekrar başlaması gerekmez.

Quarkus ve Spring
Quarkus ile Spring kodlarını kullanma imkanı var. Compatibility extensions menüsünden "Spring DI" ve "Spring Web API" seçilebilir.

Quarkus Messaging implementation
Kafka, AMQP, JMS destekler.

Proje Oluşturma
https://code.quarkus.io/ adresinden aynı Spring gibi proje oluşturulabilir. Proje yapısı şöyle
README.md
pom.xml
build.gradle

src/main/docker
src/main/java
src/main/resources

src/main/resources/application.properties
src/main/resources/application.yml
src/main/resources/application.yaml

src/main/resources/META-INF/resources
src/test/java
Dev Mode and Live Coding
Şöyle yaparız
./mvnw quarkus:dev
./gradlew quarkusDev
Kubernetes Development
Burada detaylı açıklama var

Native Image
Şöyle yaparız
./mvnw package -Pnative
./gradlew build -Dquarkus.package.type=native
SmallRye
Açıklaması şöyle
... Quarkus uses SmallRye reactive library

Örnek
Şöyle yaparız
@Path("/application-info")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
class ApplicationInfoResource(
@Inject private val applicationInfoService: ApplicationInfoService) {
  @GET
  fun get(@QueryParam("request-to") requestTo: String?): Response =
    Response.ok(applicationInfoService.get(requestTo)).build()
  
  @GET
  @Path("/logo")
  @Produces("image/png")
  fun logo(): Response
    Response.ok(applicationInfoService.getLogo()).build()
}
DataSource
Şöyle yaparız
quarkus:
  datasource:
    customers:
      db-kind: h2
      jdbc: false
      reactive:
        url: h2:file:~/testdb
        max-size: 20

Hiç yorum yok:

Yorum Gönder