Как вызвать источник данных в комплекте OSGI? - PullRequest
0 голосов
/ 23 января 2012

Можно ли назвать @Datasource insight OSGI bundle? Я настроил пул соединений на сервере Glassfish 3.1.1. Я могу делать запросы из простого приложения JSF. Это исходный код пакетов: http://www.2shared.com/file/H8kNkMrI/SH_27.html

Это исходный код, который я пытаюсь написать:

package org.DX_57.osgi.SH_27.impl;

import javax.activation.DataSource;
import javax.annotation.Resource;
import org.DX_57.osgi.SH_27.api.SessionHandle;

public class SessionHandleImpl implements SessionHandle {

        public String error_Message = null;
        public String error_Database = null;

        /** Call the Oracle JDBC Connection driver */
        @Resource(name="jdbc/Oracle")
        public DataSource ds;

    public String sayHello(String name) {
        return "Howdy " + name;
    }                      
}

Когда я пытаюсь скомпилировать код с Netbeans, появляется эта ошибка:

[bundle:bundle]
Bundle org.DX_57.osgi.SH_27:SH_27-impl:bundle:1.0-SNAPSHOT : Unresolved references to [javax.activation, javax.annotation] by class(es) on the Bundle-Classpath[Jar:dot]: [org/DX_57/osgi/SH_27/impl/SessionHandleImpl.class]
Error(s) found in bundle configuration
------------------------------------------------------------------------
Reactor Summary:

SH_27 ............................................. SUCCESS [0.639s]
SH_27-api ......................................... SUCCESS [5.162s]
SH_27-impl ........................................ FAILURE [1.930s]
------------------------------------------------------------------------
BUILD FAILURE
------------------------------------------------------------------------
Total time: 8.950s
Finished at: Mon Jan 23 15:59:42 EET 2012
Final Memory: 18M/47M
------------------------------------------------------------------------
Failed to execute goal org.apache.felix:maven-bundle-plugin:2.3.6:bundle (default-bundle) on project SH_27-impl: Error(s) found in bundle configuration -> [Help 1]

Ты хоть представляешь, что мне не хватает?


Обновление : плагин Bundle не может видеть классы javax.annotation и javax.activation при попытке вычислить OSGi-манифест моего пакета и решить, что упаковать в него. Я должен исправить pom.xml. Это исходный код пакета OSGI.

Как мне восстановить файл POM?


Обновление 2 : полный стек ошибок от Netbeans:

http://pastebin.com/R2hnRHVW

А это файл POM:

http://pastebin.com/Tc1gJiwU

Не могли бы вы помочь мне исправить файл POM?

1 Ответ

0 голосов
/ 23 января 2012

Не уверен, как вы запускаете фреймворк, для Феликса это может помочь, если вы укажете javax.activation (и другие необходимые вам пакеты) в пакетах начальной загрузки;Используйте org.osgi.framework.bootdelegation в framework.properties.

...