前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >myddd-vert.x 1.1.0版本发布

myddd-vert.x 1.1.0版本发布

作者头像
御剑
发布2021-06-21 19:53:11
5400
发布2021-06-21 19:53:11
举报
文章被收录于专栏:微言码道

myddd-vert.x是myddd在后端的核心基础框架,它是基于Kotlin与Vert.x的响应式领域驱动基础框架。

myddd-vert.x更新至1.1.0版本,本次升级主要为核心依赖更新。

1.1.0更新说明

  1. 将Kotlin依赖升级至最新的1.5.10版本
  2. 将Vert.x依赖升级至最新的4.1.0版本
  3. 将hibernate-reactive依赖升级至1.0.0.CR6
  4. hibernate-reactive包发布到自有的maven.myddd.org仓库,将hibernate-reactive依赖由本地jar改为远程依赖
  5. 优化Config机制,将Config由Web层优化至整个项目层
代码语言:javascript
复制
private val accessSecret by lazy { Config.getString("wpAccessSecret") }

现在开始,你可以在项目任何地方,通过Config类,获取你项目设定的配置

  1. 添加对postgres数据库的完整支持。myddd-vert.x现已支持mysql与postgres

myddd-vert.x的单元测试添加了mysql与postgres双数据库源支持,任何功能都将在此两种数据库上得到支持与验证。

  1. 添加多数据源支持

你可以在项目中可以轻松的引用多个数据源

第一步:在persiste.xml中定义多个数据源

代码语言:javascript
复制
    <persistence-unit name="default">
        <provider>org.hibernate.reactive.provider.ReactivePersistenceProvider</provider>
        <class>org.myddd.vertx.repository.hibernate.User</class>
        <properties>
            <!-- MySQL -->
            <property name="javax.persistence.jdbc.url"
                      value="jdbc:mysql://127.0.0.1:3306/test"/>
        </properties>

    </persistence-unit>

    <persistence-unit name="pg">
        <provider>org.hibernate.reactive.provider.ReactivePersistenceProvider</provider>
        <class>org.myddd.vertx.repository.hibernate.User</class>
        <properties>
            <!-- PG -->
            <property name="javax.persistence.jdbc.url"
                      value="jdbc:postgresql://localhost/postgres"/>

        </properties>
    </persistence-unit>

第二步: 在IOC中申明多个数据源

代码语言:javascript
复制
 InstanceFactory.setInstanceProvider(GuiceInstanceProvider(Guice.createInjector(object : AbstractModule(){
            override fun configure() {
                bind(Mutiny.SessionFactory::class.java).toInstance(Persistence.createEntityManagerFactory("default")
                    .unwrap(Mutiny.SessionFactory::class.java))
            bind(Mutiny.SessionFactory::class.java).annotatedWith(Names.named("pg")).toInstance(Persistence.createEntityManagerFactory("pg")
                    .unwrap(Mutiny.SessionFactory::class.java))
            }
        })))

第三步:仓储中指定数据源

代码语言:javascript
复制
//未指定任何数据源名称,则使用default
class MediaRepositoryHibernate:EntityRepositoryHibernate(),MediaRepository {
}
//如果指定一个数据源,则使用指定的数据源
class MediaRepositoryHibernate:EntityRepositoryHibernate(dataSource = "pg"),MediaRepository {
}

myddd-starter更新

myddd-starter也同步更新,支持myddd-vert.x的最新版本

从现在起,你在myddd-starter上生成的myddd-vert.x项目就是基于1.1.0版本

访问 https://starter.myddd.org 进行尝试体验吧

质量报告

myddd-vert.x遵照TDD测试驱动进行开发与质量管控。

1.1.0-SNAPSHOT版本的质量总体如下:

image-20210605144939660

下一步

下一步的工作将集中在文档上,编写一个完整的使用myddd-vert.x的使用指引。

同时,myddd的官网也在计划与构建中。

myddd-vert.x预期很快会开源。

敬请期待!

附录

如果你想了解更多关于myddd-vert.x,以下文章可以查阅

  1. 为什么我会选择Vert.x与Kotlin
  2. 难以置信的性能优势,来自myddd-vert.x的性能测试报告
  3. myddd starter 发布第一个版本
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微言码道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1.0更新说明
  • myddd-starter更新
  • 质量报告
  • 下一步
  • 附录
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档