IBM JBSS ошибка интеграции стерлингов

Я получаю ошибку

SQLException: таблица уже существует:

Во время работы мой jboss интегрирован со стерлингом 9.4.

Интересно, где я ошибся?

1 ответ

Решение

На самом деле

Эти сообщения иногда вызывают беспокойство у пользователей. Однако, в большинстве случаев, это сообщение является нормальным и ожидаемым (следовательно, уровень ведения журнала DEBUG вместо, скажем, ERROR или WARN.)

По умолчанию сервер пытается создать таблицы, поддерживающие постоянство сообщений. Если таблицы уже существуют, будет выдано исключение java.sql.SQLException. Обычно это означает, что таблицы уже существуют и их не нужно создавать. Конечно, если таблицы еще не существуют, они будут созданы, и администраторы не обязаны создавать таблицы, требуемые JMS, в качестве отдельной задачи.

Хотя трассировка стека обычно является функцией сообщения журнала, вызывающей беспокойство, она необходима в сообщении DEBUG. Не существует стандартного исключения SQL или сообщения, выдаваемого для типа "таблица уже существует". Это означает, что не существует общего способа сообщить об исключении, только когда сбой вызван какой-либо другой проблемой. Таким образом, трассировка стека включена для облегчения отладки при возникновении некоторого другого сбоя при создании таблиц.

Автоматическое создание таблиц может быть отключено. Конечно, если эта функция отключена, таблицы должны быть созданы до того, как сервер приложений запустится для правильной работы системы JMS.

JBossMQ *

Для JBossMQ эта функция отключена в файле $SERVER_CONFIG_DIR/deploy/jms/-jdbc2-service.xml (например, default/deploy/jms/hsqldb-jdbc2-service.xml.) Строка "CREATE_TABLES_ON_STARTUP = TRUE" включает автоматическое создание таблиц. Установка значения в FALSE отключит создание таблиц.

JBoss Messaging

Для JBoss Messaging эта функция отключена с помощью атрибута CreateTablesOnStartup в файле конфигурации $SERVER_CONFIG_DIR/deploy/jboss-messaging.sar/-persistence-service.xml (например, messageaging/deploy/jboss-messaging.sar/hsqldb-persistence-service.xml.) По умолчанию этот атрибут имеет значение true. Чтобы отключить создание таблиц при запуске, установите значение false.

Другие вопросы по тегам