2016-11-01 8 views
1

Если вы решите использовать функцию ejbTimer с DashDB в Bluemix, вы получите ошибки. Мы проанализировали проблему и придумали анализ того, что функция ejbTimer создает в своей фазе создания набор таблиц (WLPTASK, WLPPART, WLPPROP). Они предполагают «ORGANIZE BY COLUMN» (по умолчанию DashDB).Функция ejbTimer с DashDB в bluemix

В качестве обходного решения мы выяснили, что если бы мы использовали эту функцию на автономном (не облачном) сервере Liberty, позвольте создать таблицы. Возьмите DDL от этого и настройте их с помощью «ORGANIZE BY ROW». Вручную создайте таблицы в DashDB. Тогда использование функции в Bluemix не нужно создавать таблицы и работать с этими вручную созданными таблицами.

Я предполагаю, что этого не ожидается поведение - есть ли исправление для него?

+0

При создании таблиц в автономной (не облачной) среде вы также используете DashDB? Или какая-то другая база данных? –

+0

Я использовал дерби для этого. Две таблицы были созданы в DashDB до того, как создаются сбои там, поэтому объединение этой информации с тем, что было получено из дерби, было достаточно. – jarkko

ответ

2

Что вы сделали, чтобы обойти эту проблему, хорошо. Причина, почему это не работает из коробки, заключается в том, что Liberty использует EclipseLink (ECL) для создания таблиц для таймеров EJB, а ECL не имеет полной поддержки DashDB.

ECL поддерживает все совместимые драйверы SQL и JDBC. Однако ECL поддерживает только создание схемы для выбранного набора баз данных. К сожалению, DashDB не находится в генерации схемы list of databases that ECL supports.

Я полагаю, что вы по-прежнему использовать этот метод обхода вручную редактируя DDL генерируется для Дерби, и в то же время open a Request For Enhancement (должно занять 10 минут или меньше) для IBM, чтобы добавить DashDB поддержку генерации схемы для ЭСЛ.