在 IBM ODM 决策中心获取当前分支

Getting current branch in IBM ODM Decision Center

是否可以通过决策中心API获取当前分支的名称?我想实现一个动态域插件,通过从数据库查询来更新域。但我希望能够指定本地、测试、阶段和生产数据库连接详细信息。因为我们为测试、阶段和生产共享一个决策中心实例,所以项目分支似乎是针对数据库的最佳选择。是否可以在触发DomainValueProvider时判断自己在哪个分支?

您可以通过在 IlrSession 上调用 getWorkingBaseline 方法来确定当前分支:

private String determineBranch(IlrSession ilrSession) {
    IlrBaseline currentBranch = ilrSession.getWorkingBaseline();
    String branch = currentBranch.getName();
    log.info( "currentBranch is " + branch);
    return branch;
}

如果您正在实施 IlrDefaultSessionController,如果您覆盖 setSession(IlrSession session),将提供 IlrSession 方法。从其他地方,您可以从 ManagerBean:

获取会话
protected IlrSession getIlrSession() {
    ManagerBean bean = ManagerBean.getInstance();
    return bean.getSession();
}

祝你好运!