昨天刚刚找了一个基于Django的开源微型论坛框架Spirit,部署在自己的小服务器上。...在脚本之家搜索到了一篇名为在Apache服务器上同时运行多个Django程序的方法,该文章声称可以在apache的配置文件中使用SetEnv指令来部署多站点Django, 但是在wsgi.py中已经存在...即如果在单一进程中,django会使用最先运行的那个站点的配置文件,所以我们要么使用os.environ,要么使用mod_wsgi的daemon模式(未尝试)。...为什么使用os.environ.setdefault()会导致使用最先运行站点的配置呢?直到我看了这篇django os.environ慎用setdefault操作环境变量!...我去掉了wsgi.py中的os.environ语句,在apache配置文件中使用SetEnv进行配置文件的选择,奇怪的是不论在SetEnv后面有没有使用引号,该问题都无法解决,有时候报错为模块找不到(与背景中的报错信息相同
设置上下文 JVM是一项伟大的技术。现代版本将运行的字节码编译为本机代码,具体取决于现有的工作负载。出于这个原因,JVM 应用程序在运行时性能方面与本机可执行文件不相上下,甚至胜过本机可执行文件。...在运行时加载类没有帮助。Spring 和 Jakarta EE 等框架一直在使用类路径扫描和反射,这使得启动时间更长。对于长时间运行的进程,例如传统的应用程序服务器,这不是问题。...两个框架都没有在运行时使用昂贵的反射,而是在构建时生成额外的类。这也使我们能够避免在启动时进行类路径扫描。简而言之,这个想法是关于在构建时提供尽可能多的代码。...因此,最后的第二步是在 POM 中配置它。...Micronaut 依赖项替换 Spring Boot 启动器 用 Micronaut 的注释替换 Spring Boot 的注释 为了使应用程序成为 Web 应用程序,Micronaut 要求添加嵌入式服务器依赖项
Micronaut Micronaut 基金会发布了 Micronaut 3.3.1,其中包括:Micronaut Azure 3.0.1、Micronaut Servlet 3.1.1、Micronaut...Kotlin 在通往 Kotlin 1.6.20 的道路上,第一个里程碑版本发布,它提供的预览特性包括:通过 JVM IR 后端单个模块的并行编译缩短构建时间;通过 Kotlin/JS IR 的增量编译缩短开发时间...Gradle Gradle 公司发布了其广受欢迎的构建工具的 7.4 版本,新特性包括:改进在多个项目中创建单个测试报告或 JaCoCo 代码覆盖率报告的特性;更新 Java 工具链,以支持 AdaptOpenJDK...向 Eclipse Adoptium 的迁移;推动共享构建服务和版本目录特性进入稳定状态。...该团队还宣布,1.x 版本序列已终结,并将进入只做安全维护的模式,直到 2022 年 9 月 30 日。为此,1.28.1 版本已经发布,包含安全相关的以及一般性的依赖项升级。
许多组织正在将所谓的单体应用程序分解为更小的、面向服务的应用程序,这些应用程序在分布式系统中协同工作。 新的体系结构模式要求通过多个功能受限、相互独立的微服务应用程序的交互来满足业务需求:....服务需要被回收,并以最小的延迟重新上线。而且服务的数量也在增加(在大规模系统上可能会增加到数百个)。很明显,对于每个服务的多个实例,在享用传统框架所带来的便利性的同时,需要支付相应的现实成本。...Micronaut实现了JSR 330 Java依赖项注入规范,在javax.inject包(如@Inject和@Singleton)之下,提供了语义注解,来表示DI容器中的类与类关系。...1、服务发现 服务发现意味着应用程序能够在集中的注册中心找到彼此,而无需在配置中查找URL或硬编码的服务器地址。...命令接受features标志,可以添加对项目中各种类库和配置的支持。
和 Helidon SE 一样,Ktor 没有开箱即用的 DI,所以在启动服务器依赖项之前应该使用 Koin 注入: val koinModule = module { single { ApplicationInfoService...另外,微服务系列面试题和答案全部整理好了,微信搜索互联网架构师,在后台发送:面试,可以在线阅读。...程序大小 为了保证设置应用程序的简单性,构建脚本中没有排除传递依赖项,因此 Spring Boot 服务 uber-JAR 的大小大大超过了其他框架上的类似物的大小(因为使用 starters 不仅导入了必要的依赖项...1、负载生成器和被测试的服务在同一台机器上运行(Windows 10、3.2 GHz 四核处理器、24 GB RAM、SSD)。 2、服务的端口在 Scala 脚本中指定。...结论 通过上文,我们所需的功能——一个带有 HTTP API 的简单服务和在 MSA 中运行的能力——在所有考虑的框架中都取得了成功。 是时候开始盘点并考虑他们的利弊了。
(在Helidon 配置文档中了解更多信息)。...和 Helidon SE 一样,Ktor 没有开箱即用的 DI,所以在启动服务器依赖项之前应该使用 Koin 注入: val koinModule = module { single { ApplicationInfoService...程序大小 为了保证设置应用程序的简单性,构建脚本中没有排除传递依赖项,因此 Spring Boot 服务 uber-JAR 的大小大大超过了其他框架上的类似物的大小(因为使用 starters 不仅导入了必要的依赖项...1、负载生成器和被测试的服务在同一台机器上运行(Windows 10、3.2 GHz 四核处理器、24 GB RAM、SSD)。 2、服务的端口在 Scala 脚本中指定。...结论 通过上文,我们所需的功能——一个带有 HTTP API 的简单服务和在 MSA 中运行的能力——在所有考虑的框架中都取得了成功。 是时候开始盘点并考虑他们的利弊了。
Micronaut Micronaut 基金会发布了 Micronaut 框架的 4.1.4 版本,包含 Micronaut Core 4.1.9 和模块更新:Micronaut Serialization...Micrometer Micrometer Metrics1.12.0-RC1、1.11.5、1.10.12 和 1.9.16 分别带来了依赖项升级和错误修复:在运行 Spring Boot 应用程序时...1.2.0-RC1 版本的新特性包括:为改进框架的配置,在匹配TimeAspect类时将SpanTagAnnotationHandler类定义为可选的;io.opentelemetry:opentelemetry-semconv...CVE-2023-45648,攻击者在反向代理后面通过发送特制的无效标头促使 Tomcat 将单个请求视为多个请求,从而导致请求夹带。 之前提到的 CVE-2023-44487。...的依赖项升级。
Reinhold 表示,尽管为 Java 社区提供了良好的服务,但是当前的域名还是令人困惑。由于许多 OpenJDK 的开源社区都是在.org顶级域名下构建其基础设施的。...` Open Liberty IBM 已将 Open Liberty 22.0.0.5 的 beta 版本升级为交付态:支持在sslProtocol属性上配置多个特定的 SSL/TLS 协议值;引入了一个新的...云服务检索特性值的能力。...该版本在 JDK 11 或 JDK 17 上可能能运行,但是对 JDK 8 的支持已经停止。...Jakarta EE 依赖项。
,从而可能导致安全绕过;和 CVE-2023-34035,使用多个 Servlet 时可能会错误配置授权规则,该漏洞使用requestMatchers(String)方法和多个 servlet(其中一个是...)来完成单个参数。...TornadoVM 开源软件技术公司 TornadoVM 发布了 0.15.2 版本的虚拟机,该版本提供了缺陷修复和显著的改进,例如:对在多个设备上执行多个独立任务的最初支持,可以在多个硬件加速器上执行多任务...Micronaut Micronaut Framework 4.0.2 是第二个维护版本,它提供了缺陷修复、文档改进、依赖项升级和改进,例如:在BuildTestVerifier接口中添加了版本号检查...JHipster JHipster Lite 的 0.39.0 版本已经发布,其中包括了一些缺陷修复、依赖项升级和功能改进,例如:通过改进的配置增强了 Logback 依赖项,并且不再需要显式定义 shutdown
在本例中,将为运行中的应用程序注入 EmbeddedApplication。...带 @Controller 注解的类可以包含一个或多个映射到特定 HTTP 动词和 URI 的方法。...你可以在 IDE 中运行 Application 类的 main 方法或通过./gradlew run 或./mvnw mn:run 来启动服务器。...GraalVM 原生镜像可以很好地支持 Java 反射、运行时代理和动态类加载。开发人员需要为原生镜像提供必要的配置,说明在何时何地可以使用它们。...自定义 AWS Lambda 运行时,可以将 Micronaut 应用程序部署到无服务器平台。 与 Kubernetes 集成,可以简化在 Kubernetes 集群中的部署。
Apple M1 上直接运行;支持 async 性能分析器生成的帧类型的解析器;以及显式调用System.gc()的新规则。...Spring Framework 在沉寂了几周之后,Spring 团队在过去一周里可谓相当忙碌,发布了多个里程碑版本及点版本。 其中包括多个 Spring Boot 版本。...Micronaut Data MongoDB 现在成了 Micronaut Data 3.3.0 的一部分。...这个最新版本的特性有:能够在原生测试中使用环境变量;整合了 GraalVM 原生配置库与 Gradle;Gradle jvmReachabilityMetadataRepository重命名为metadataRepository...;在 verbose 模式下运行jpackage命令的新选项;以及修复remoteBuild属性赋值为false时packageSourceUrl失败的问题。
该特性通过字符串模板来增强 Java 编程语言,字符串字面量中包含嵌入表达式,这些表达式将在运行时被解释和计算。有关 JEP 430 的更多细节可以在 InfoQ 的 新闻报道 中找到。...类似地,Spring Data 服务版本 2023.0.6、2022.0.12 和 2021.2.18 的带来了问题修复和相应的子项目依赖项升级,例如:Spring Data Commons 3.1.6...);在server.xml中使用include元素包含所有服务器配置文件,避免像之前那样需要单独指定它们。...Eclipse 基金会 Eclipse Vert.x 4.5.0 发布,增加了一些新特性,例如:支持 JDK 21 和虚拟线程;创建动态 SQL 连接;允许在运行时更新 TCP 客户端 / 服务器 SSL...JobRunr JobRunr (一个基于持久存储的 Java 后台处理库)6.3.3 发布:为 Quarkus 提供分离的构建时和运行时配置;使用 Quarkus ClientProxy 接口提供的合成类
Spring Framework 5.3.19 和 5.2.21 已经发布,前者带来了 12 项 Bug 修复和改进,后者带来了 5 项。...Open Liberty 22.0.0.5-beta 版也已发布,特性包括:支持 MicroProfile GraphQL 2.0;分布式安全缓存(这样多个 Liberty 服务器就可以通过JCache...(https://github.com/micronaut-projects/micronaut-core/releases/tag/v3.4.2) WildFly 在 WildFly 26.1 Beta1...一个新的address_queue_scan属性,用于为标记为删除的队列配置有效删除频率;一个新的execution-records-limit属性,用于限制通过 JDBC 存储检索的记录数量;可以启用资源适配器验证日志目录配置...GlassFish 7.0.0-M4 被认为是一个测试版,可在 JDK 11 至 JDK 18 上编译和运行。要了解关于该版本的更多信息,请查阅发布说明。
因此,我的主要重点是开发的易用性以及微服务的资源消耗两个方面。 对于资源消耗方面,Spring一直都被人诟病,尤其是在涉及单个流程所需的资源开销。...正如Christian Lusardi最近所说的那样: “我发现使用Spring Boot运行的基本Java应用程序至少需要1GB的RAM,开发中间件应用程序没关系,但是在微服务体系结构中,这非常糟糕!...2 Micronaut Micronaut是比较新的全栈微服务框架,由Grails框架的创建者于2018年引入。 Micronaut提供了构建功能全面的微服务应用程序所需的所有工具。...通过使用Java注解处理器执行DI,创建面向切面的代理(而不是运行时)配置应用程序,可以实现此目标。 Micronaut中的许多API均受Spring和Grails的启发。...其他框架能够在400 r/s(Quarkus作为本机映像运行)和197 r/s(OpenJDK上的Quarkus)之间提供服务。
要了解关于这个版本的更多细节,请查看发布说明。 Spring Boot 2.6.9 发布,其中包括 44 项 Bug 修复、文档改进以及与 Spring Boot 2.7.1 类似的依赖升级。...GlassFish 7.0.0-M6 还是一个 Beta 测试版本,可在 JDK 11 至 JDK 18 上编译和运行。要了解关于这个版本的更多细节,可以查看发布说明。...这个最新版本提供了:Mockito 和 Byte Buddy 的支持文档;防止在没有提供测试列表的情况下构建失败;在 Gradle 插件 native-image 中支持不同的代理模式,这是一个破坏性的变化...它以前是 Apache Lucene 的一个子项目,这个最新版本提升了定制和配置能力,例如:给 TikaServerCli 类增加一个 stop() 方法,这样它就可以和 Apache Commons...达梦冲刺国产数据库第一个 IPO;特斯拉自动驾驶部门裁员约 200 人;微信推出图片大爆炸功能|Q 资讯 从 IE 到 Edge:我们跟微软浏览器团队聊了聊 Web 的过去和未来 | 中国卓越技术团队访谈录
该特性通过 string templates 来增强 Java 语言,字符串模版包含嵌入的表达式,这些表达式在运行时被解释,其中嵌入的表达式也会进行求值和验证。...,如果一个操作涉及多个查询,则可避免驱动程序级别的多个事务所引起的混乱。...反向通道注销允许 OpenID Connect 服务器直接通知 OpenID Connect 客户端用户注销,让每个 OpenID Connect 客户端都可以在本地注销用户。...类的性能;允许在类和方法上使用多个 @TestConfigProperty 注解,允许覆盖每个测试方法的多个配置值;解决了在 Jakarta RESTful Web Services ContainerRequestContext...() 方法内的“不稳定测试失败”;将 TimeoutException 类移到 org.infinispan.commons 包中,与 CacheException 类位于相同的包中;在序列化配置时对
在 Loom 项目的支持下,这个孵化中的 JEP 提议通过引入一个库来简化多线程编程,将在不同线程中运行的多个任务视为一个工作单元。这可以简化错误处理和取消操作,提高可靠性,并增强可观察性。...要了解有关该版本的更多细节,请查看发布说明。 Spring Authorization Server 0.3.0 发布,提供了新的特性、依赖项升级和 Bug 修复。此外,还有一些破坏性的变化。...Micronaut Micronaut 基金会发布了 Micronaut 3.5.0。...Apache Tika Apache Tika 团队发布了其元数据提取工具包的 1.28.3 版本。它以前是 Apache Lucene 的一个子项目,最新版本带来了安全修复和依赖项升级。...河南赋红码事件程序员不背锅;马斯克:向TikTok和微信学习;华为宣布将调整绩效考核指标 | Q资讯 IE 浏览器已“死”,一个时代的终结 被捧上天的 Scrum 敏捷管理为何不受大厂欢迎了?
微服务框架 随着微服务和轻量级REST API的日益流行,我们目睹了Java的另一个趋势:Java微框架的崛起。...Javalin, Micronaut, Spark 和其他很多东西让构建REST api变得轻而易举。在本文中,我将研究这个令人兴奋的领域,并分享我对它们使用的看法。 什么是微服务框架?...micronaut Micronaut用于构建模块化、易于测试的微服务应用程序的现代、基于jvm的全栈框架。...Jooby -可伸缩、快速、模块化的Java微web框架。 Akka HTTP——Akka HTTP模块在Akka -actor和Akka -stream之上实现完整的服务器和客户端HTTP栈。...“直接运行”这些应用程序。
Micronaut Micronaut 基金会发布了 Micronaut 4.0.0 的第一个候选版本,其中包含许多依赖项升级和重要的更改,包括:将 Groovy 注解处理器依赖项更新为provided...,代替之前使用的compile ;由于 Micronaut Tracing 模块对包的重命名导致了破坏性更改,所以升级了 Zipkin 依赖项;根据在 Micronaut Launch 模块中选取的特性完善...升级依赖项是为了解决了 CVE-2023-34462 漏洞(攻击者可以在未配置空闲超时处理器的情况下操纵SniHandler类为每个连接缓冲最大 16MB 的数据,这会迅速导致OutOfMemoryError...JBang JBang 0.109.0 发布,提供了一些 Bug 修复和新特性,包括:能够使用脚本或JAR文件作为依赖项,从而改进 JBang 脚本和应用程序的解耦合性和可组合性;自定义调试配置,支持多个键...Kotlin/Native 内存管理器的运行时性能。
领取专属 10元无门槛券
手把手带您无忧上云