2012-01-23 8 views
0

@Datasource insight OSGIバンドルに電話することはできますか? Glassfish 3.1.1サーバーで接続プールを構成しました。私は簡単なJSFアプリケーションからクエリを行うことができます。私は、NetBeansでコードをコンパイルしようとすると、このエラーが表示されますOSGIバンドルでデータソースを呼び出す方法は?

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; 
    }      
} 

http://www.2shared.com/file/H8kNkMrI/SH_27.html

これは私が書くしようとしているソースコードは次のとおりです。 これはバンドルのソースコードがある

[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] 

あなたは何が欠けているか考えていますか?


更新:バンドルプラグインは私のバンドルのOSGiのマニフェストを計算し、THER瓶にパッケージ化するかを決定しようとしたときに、javax.annotationと持つjavax.activationクラスを参照してくださいすることができません。私はpom.xmlを修正する必要があります。 これはOSGIバンドルのソースコードです。

どのようにPOMファイルを修復する必要がありますか?


アップデート2:これは、NetBeansからの完全なエラー・スタックです:

http://pastebin.com/R2hnRHVW

そして、これはPOMファイルです:

http://pastebin.com/Tc1gJiwU

あなたは私を助けるだろうPOMファイルを修正するには?

+0

正気のチェック:あなたは本当に 'javax.activation.DataSource'ですか?このコメントは、javax.sql.DataSourceでなければならないことを意味しています。 –

答えて

0

felixのためにフレームワークをどのように実行するのかわからない場合、javax.activation(および必要な他のパッケージ)をブート逸脱パッケージに指定すると役立つかもしれません。 framework.propertiesでorg.osgi.framework.bootdelegationを使用します。

+0

これは、データソースのInsight OSGIバンドルを呼び出す適切な方法ですか? @Oject @OSGiService(true、 "(jndi-name = jdbc/Oracle)") DataSource ds; –

+0

bootdelegationでjavax.activationを指定することは非常に悪い考えです! –

+0

さらに、@ user1103606はコードをビルドすることさえできないので、この段階でランタイム設定について話すのは馬鹿げています。 –

関連する問題