2016-08-19 2 views
3

я сталкиваюсь следующее исключение в API диспетчера ОБМ произошлоJavaPackage org.wso2.carbon.apimgt.impl.APIManagerAnalyticsConfiguration]. Это не является функцией, то есть «объект».)

ОШИБКА {JAGGERY.modules.analytics.add.jag} Ошибка при сохранении конфигурации Analytics (Причина: Невозможно вызвать свойство getInstance в объекте [JavaPackage org.wso2.carbon.apimgt.impl.APIManagerAnalyticsConfiguration]. Это не функция, это «объект».) {JAGGERY.modules.analytics.add.jag }

Мы не имеем понятия, что приводит к этой проблеме, мы уверены, что мы не меняли файлы jag, но мы заменили один файл класса (в банке) нашим собственным скомпилированным классом и заменили его на банку.

Когда мы возвращаемся к исходной банке и перезапускаем сервер, проблема все еще там, кто-нибудь знает, что может привести к этой проблеме и как ее исправить?

ответ

1

Это может произойти, если класс APIManagerAnalyticsConfiguration недоступен в режиме OSGi rumtime. Наиболее вероятная причина в том, что соответствующая банда не является АКТИВНЫМ. Вы можете запустить сервер с -DosgiConsole и посмотреть, так ли это. Вот a guide.

Вы заменили банку в каталоге плагинов? Это на самом деле не рекомендуется. И это может вызвать проблемы с OSGi. Если вы действительно хотите заменить банку, вы должны исправить банку, поставив банку внутри <APIM_HOME>/repository/components/patches/patch0100/. Здесь 0100 - произвольное число.

+0

Спасибо, Бхатия, за ответ! Я запустил приглашение osgi в оболочке Windows с помощью -DosgiConsole, чтобы я мог вводить команды osgi (например, ss), но я не могу сделать это в Linux (я мог запустить wso2server в качестве процесса переднего плана, но нет способа введите команду osgi. Я использую команду (измените wso2server.sh, чтобы она выполнялась как процесс forground): sh bin/wso2server.sh -Dprofile = gateway-manager -DosgiConsole start – Tom

+0

Чтобы запустить его в forground, вы можете просто отказаться от запуска 'вот так. ' sh bin/wso2server.sh -Dprofile = gateway-manager -DosgiConsole' – Bee

+0

Спасибо, Бхатия. Я могу работать с osgiconsole. Когда сервер запускается, в приглашении OSGI я ввел ss impl, и я найденный пакет org.wso2.carbon.apimgt.impl активен, поэтому он не может быть проблемой активации пакета. – Tom

1

Мы развертываем наше собственное военное приложение на консоли APIM. Похоже, война содержит банку CXF, которая конфликтует с собственным банком CXF от APIM, что приводит к проблеме. Мы просто не развертываем войну, и проблема ушла