【问题标题】:ejbTimer feature with DashDB in bluemixbluemix 中带有 DashDB 的 ejbTimer 功能
【发布时间】:2016-11-01 08:07:53
【问题描述】:

如果您选择在 Bluemix 中将 ejbTimer 功能与 DashDB 一起使用,您最终会遇到错误。我们分析了这个问题,得出了 ejbTimer 特性在其创建阶段创建了一组表(WLPTASK、WLPPART、WLPPROP)的分析。这些假定为“按列组织”(DashDB 上的默认设置)。

作为一种解决方法,我们发现如果我们在独立(非云)Liberty 服务器中使用该功能,则让它创建表。从中获取 DDL,并使用“ORGANIZE BY ROW”进行调整。在 DashDB 中手动创建表。然后在 Bluemix 中使用该功能不需要创建表,并且可以使用这些手动创建的表。

我认为这不是预期的行为 - 有解决办法吗?

【问题讨论】:

  • 当您在独立(非云)环境中创建表时,您是否也在此处使用 DashDB?还是其他数据库?
  • 我为此使用了德比。其中两个表是在创建崩溃之前在 DashDB 中创建的,因此将这些信息与从 derby 中获得的信息相结合 - 就足够了。

标签: ibm-cloud websphere-liberty dashdb


【解决方案1】:

您为解决此问题所做的工作很好。开箱即用的原因是 Liberty 使用 EclipseLink (ECL) 为 EJB 计时器创建表,而 ECL 不完全支持 DashDB。

ECL 支持所有兼容的 SQL 和 JDBC 驱动程序。但是,ECL 仅支持为一组选定的数据库生成模式。不幸的是,DashDB 不在 list of databases that ECL supports 模式生成中。

我建议您继续使用这种手动编辑为 Derby 生成的 DDL 的解决方法,同时 open a Request For Enhancement(应该需要 10 分钟或更短时间)让 IBM 将 DashDB 模式生成支持添加到 ECL。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-09
    • 1970-01-01
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    相关资源
    最近更新 更多