myddd-vert.x是myddd在后端的核心基础框架,它是基于Kotlin与Vert.x的响应式领域驱动基础框架。
myddd-vert.x更新至1.1.0版本,本次升级主要为核心依赖更新。
1.1.0更新说明
- 将Kotlin依赖升级至最新的1.5.10版本
- 将Vert.x依赖升级至最新的4.1.0版本
- 将hibernate-reactive依赖升级至1.0.0.CR6
- hibernate-reactive包发布到自有的maven.myddd.org仓库,将hibernate-reactive依赖由本地jar改为远程依赖
- 优化Config机制,将Config由Web层优化至整个项目层
private val accessSecret by lazy { Config.getString("wpAccessSecret") }
现在开始,你可以在项目任何地方,通过Config类,获取你项目设定的配置
- 添加对postgres数据库的完整支持。myddd-vert.x现已支持mysql与postgres
myddd-vert.x的单元测试添加了mysql与postgres双数据库源支持,任何功能都将在此两种数据库上得到支持与验证。
- 添加多数据源支持
你可以在项目中可以轻松的引用多个数据源
代码语言:javascript复制第一步:在persiste.xml中定义多个数据源
<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>
代码语言:javascript复制第二步: 在IOC中申明多个数据源
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,以下文章可以查阅
- 为什么我会选择Vert.x与Kotlin
- 难以置信的性能优势,来自myddd-vert.x的性能测试报告
- myddd starter 发布第一个版本