【问题标题】:Griffon Ormlite plugin configuration not picking up environment settingsGriffon Ormlite 插件配置未选择环境设置
【发布时间】:2017-02-18 13:11:17
【问题描述】:

对于我的 griffon 桌面客户端应用程序,我正在尝试编写一些涉及 OrmLite 的测试。我已经使用configuration section of the griffon-ormlite plugin guide 为 OrmLite 配置了一个 java 配置文件。我想要做的是配置 OrmLite 在测试期间使用不同的(空白)数据库。然而,应用程序并没有选择测试配置,而是加载默认设置。

注意事项:

  • 以与配置指南(上面的链接)中的 src/main/resources/Ormlite.groovy 完全相同的方式指定配置将导致插件抱怨缺少“default.url” “ 环境。所以要么这个例子是错误的(它可能已经过时了,但这不太可能),要么我遗漏了一些关于环境的东西(配置在被读取之前被转换了吗?我没有找到任何关于这方面的文档)。
  • application environment 枚举在测试期间正确生成 Environment.TEST,在运行期间正确生成 Environment.DEVELOPMENT。
  • 版本:griffon 2.9.1、griffon-ormlite 1.1.0

这是配置文件:

import java.util.Map;

import griffon.util.AbstractMapResourceBundle;

import static griffon.util.CollectionUtils.map;

public class Ormlite extends AbstractMapResourceBundle {
    @Override
    protected void initialize(Map<String, Object> entries) {
        map(entries)
            // the default database setting
            .e("database", map()
                .e("url", "jdbc:h2:internal")
            )
            .e("environments", map()
                .e("test", map()
                    // the database that should be used during testing, but is not being picked up
                    .e("database", map()
                        .e("url", "jdbc:h2:mem:internal-test")
                    )
                )
            );
    }
}

非常感谢任何帮助。

【问题讨论】:

    标签: java ormlite griffon


    【解决方案1】:

    恐怕问题在于基于类的 ResourceBundles 不像 Groovy 脚本那样提供对 environments 块(或任何其他条件块)的支持。我们最近在属性文件中添加了这种支持(参见https://github.com/griffon/griffon/issues/196);让我们需要为基于类的包添加相同的内容。

    如果可以,请切换到 Groovy 脚本配置作为解决方法,确保添加 griffon-groovy 作为项目依赖项。这将增加至少约 700 万个依赖项。

    我已提交https://github.com/griffon/griffon/issues/212 以跟踪此功能。

    【讨论】:

    • 您可能想尝试一下最新的 2.10.0-SNAPSHOT(必须构建您自己的表单源)来尝试此功能,现已修复。欢迎反馈:-)
    • 非常感谢。这是一个比我想象的更好的答案:D。我会试着给快照一个旋转,看看有没有什么问题。
    • 它就像一个魅力:)。非常感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2019-10-17
    • 2016-10-02
    • 2012-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-05
    相关资源
    最近更新 更多