小编bas*_*man的帖子

CouchDB/NoSQL和域驱动设计?

为加入CouchApp项目做一些研究.

我理解文档数据存储与常规RDBMS的概念.我可以完全掌握建模文档和视图,而不是使用WHERE和JOIN语句.但是我还没有找到很多关于如何使用域驱动设计(DDD)建模文档,视图和设计文档的资源.

例子:

  • CouchDB世界中的DDD禁忌(例如,GetObjectAFor(id,...其他一些int,string,ObjectB,foobar)== BOOM)
  • 当DDD开始指示您应该使用SQL时
  • CouchDB举重和潜在瓶颈的DDD考虑因素(视图建模,压缩,复制等)

domain-driven-design couchdb nosql couchapp

7
推荐指数
1
解决办法
1709
查看次数

将文件路径反映到源目录或jar时,无法找到Kotlin类

===更新:使用org.reflections:reflection:0.9.11

希望使用以下行从Kotlin源中提取类名列表...

Reflections.getSubTypesOf(Any::class.java)
Run Code Online (Sandbox Code Playgroud)

但是,当我运行以下脚本时,我收到一条消息,表明没有看到Kotlin类文件...

val classLoader = URLClassLoader(this.getDirectoryUrls(), null)
println("retrieved class loader")

val config = getConfig(classLoader)
println("retrieved source config")

val reflections = Reflections(config)
println("retrieved reflections")

// For 3 paths: Reflections took 3 ms to scan 3 urls, producing 0 keys and 0 values
Run Code Online (Sandbox Code Playgroud)

===更新:"getDirectoryUrls()"添加的3个网址是包含kotlin类源文件的目录.

以下是我的配置...想法?

private fun getConfig(classLoader: ClassLoader): ConfigurationBuilder {
    val config = ConfigurationBuilder().setUrls(ClasspathHelper.forClassLoader(classLoader))
    //                .setScanners(SubTypesScanner(false), ResourcesScanner())

    if (!packagePath.isNullOrBlank()){
        System.out.println("looking in package [$packagePath]")
        config.filterInputsBy(FilterBuilder().include(FilterBuilder.prefix(packagePath)))
    }

    config.addClassLoader(classLoader)
    config.setScanners(SubTypesScanner(), TypeAnnotationsScanner())

    return config
}
Run Code Online (Sandbox Code Playgroud)

reflection jar classloader kotlin

5
推荐指数
1
解决办法
183
查看次数