7、Ktor学习-配置服务器;

本文详细介绍了Ktor框架的配置方法,包括使用HOCON文件配置、命令行参数、从代码中读取配置以及环境变量的使用。讲解了embeddedServer的配置,如Netty、Jetty、CIO和Tomcat引擎的特定设置,以及如何区分开发环境。此外,还提到了HOCON文件的优越性和IntelliJ IDEA的HOCON插件支持。
摘要由CSDN通过智能技术生成

  Ktor在外部配置文件中使用HOCON(Human-Optimized Config Object Notation)格式。 在此文件中,您可以配置要侦听的端口或要加载的模块等内容。 此格式类似于JSON,但经过优化,可供人类读取和编写,并支持环境变量替换等其他功能。 在这种情况下,您将服务器引擎配置为与指向特定EngineMain的mainClassName一起使用。

  当使用embeddedServer时,Ktor还使用一组带有类型DSL(域特定语言)的lambda来配置应用程序和服务器引擎。

HOCON文件


  这是配置Ktor应用程序的首选方法,因为它允许您轻松更改配置,而无需重新编译应用程序。

  当Ktor使用EngineMain启动时,或者通过调用commandLineEnvironment,它会尝试从应用程序资源加载名为application.conf的HOCON文件。 您可以使用命令行参数更改文件的位置。

可用作mainClassName的可用开发引擎:

  io.ktor.server.cio.EngineMain
  io.ktor.server.tomcat.EngineMain
  io.ktor.server.jetty.EngineMain
  io.ktor.server.netty.EngineMain
复制代码

  Ktor仅要求您使用ktor.application.modules属性指定在启动服务器时要加载的模块。 所有其他属性都是可选的。

  Ktor(application.conf)的典型简单HOCON文件如下所示:

ktor {
    deployment {
        port = 8080
    }

    application {
        modules = [ io.ktor.samples.metrics.MetricsApplicationKt.main ]
    }
}
复制代码

  使用.表示法相当于:

ktor.deployment.port = 8080
ktor.application.modules = [ io.ktor.samples.metrics.MetricsApplicationKt.main ]
复制代码

  Ktor允许您进行更多配置:从其他核心配置到Ktor功能,甚至是应用程序的自定义配置:

ktor {
    deployment {
        environment = development
        port = 8080
        sslPort = 8443
        autoreload = true
        watch = [ httpbin ]
    }

    application {
        modules = [ io.ktor.samples.httpbin.HttpBinApplicationKt.main ]
    }

    security {
        ssl {
            keyStore = build/temporary.jks
            keyAlias = mykey
            keyStorePassword = changeit
            privateKeyPassword = changeit
        }
    }
}

jwt {
    domain = "https://jwt-provider-domain/"
    audience = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值