Проблема:
При развертывании пользовательского OSGI-бандла на WSO2 ESB 4.5.1 валится совершенно ни о чем не говорящая ошибка:
ERROR - DefaultAppDeployer Error while installing bundle : file:///.../MyBundle.jar
Исходники класса DefaultAppDeployer подтвердили опасения: исключение-причина ошибки попросту теряется:
package org.wso2.carbon.application.deployer.handler;Решение
...
public class DefaultAppDeployer implements AppDeploymentHandler {
...
private void installBundle(String bundlePath) {
...
try {
Bundle bundle = AppDeployerServiceComponent
.getBundleContext().installBundle(bundlePath);
bundle.start();
} catch (BundleException e) {
log.error("Error while installing bundle : " + bundlePath);
}
...
}
...
}
Исправить DefaultAppDeployer, добавив в лог исключение-причину:
log.error("Error while installing bundle : " + bundlePath, e);Как именно вносить правку - есть варианты:
- Декомпилировать класс из jar-ник в шине, поправить и скомпилировать обратно
- Собрать класс из исходников на сайте wso2. Этот вариант проблемнее - в WSO2 ESB 4.5.1 лежит версия jar-ника org.wso2.carbon.application.deployer 4.0.2, где взять её исходники, я не нашел. На сайте wso2 доступны только исходники версии 4.0.0-SNAPSHOT, если собрать org.wso2.carbon.application.deployer из них, шина не будет стартовать, т.к. эта версия существенно отличается от 4.0.2 даже по составу классов.
Комментариев нет:
Отправить комментарий