3

私はservicemix4.4.1とmaven3.0.4を使用しています。私はservicemix/javaの世界に非常に慣れていません-私の主な知識はc#/phpです。

ルートの1つに以下を追加しました。

<bean id="dataSource" class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
  <property name="driverClass" value="com.mysql.jdbc.Driver"/>
  <property name="url" value="jdbc:mysql://10.10.10.29/ServiceMix"/>
  <property name="username" value="somet"/>
  <property name="password" value="somet"/>
</bean>

次に、ルートをサービスミックスに展開すると、次のようになります。

ClassNotFoundException: com.mysql.jdbc.Driver not found

いくつかのグーグルから、POMからいくつかの行が欠落していることがわかったので、次を追加しました。

<osgi-import-package>
org.apache.servicemix.bundles.commons-dbcp
</osgi-import-package>

<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<artifactId>org.apache.servicemix.bundles.commons-dbcp</artifactId>
<version>1.4_3</version>
</dependency>

また、servicemixがバンドルについて認識できるように、以下を実行しました。

osgi:install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-pool/1.5.4_4
osgi:install -s mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-dbcp/1.4_3

ただし、バンドルを開始しようとすると、次のようになります。

Error executing command: Could not start bundle mvn:com.boohoo/boohoo-esb-products-sage-internal/1.0-SNAPSHOT in feature(s) boohoo-esb-products-sage-internal-1.0-SNAPSHOT: Unresolved constraint in bundle boohoo-esb-products-sage-internal [256]: Unable to resolve 256.0: missing requirement [256.0] package; (package=org.apache.servicemix.bundles.commons-dbcp)

また、動的インポートが許可されるように、プロジェクトにマニフェストファイルを追加できるというグーグルも行いました。したがって、プロジェクトのルートにMANIFEST.MFという新しいファイルを追加し、ファイルに次のファイルを追加しました。

Fragment-Host:
 org.apache.commons.dbcp 
DynamicImport-Package:
 *

しかし、これも効果がありません。ぐるぐる回っているような気がします。どんなヘルプ/ポインタも素晴らしいでしょう。

私はすべてが理にかなっていることを願っていますが、そうでない場合は、そう言ってください。私はそれをよりよく説明しようとします。

乾杯。

4

2 に答える 2

2

問題を修正しました。次のようにコードを更新しました。

 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
  <property name="url" value="jdbc:mysql://10.10.10.29/ServiceMix"/>
  <property name="username" value="something"/>
  <property name="password" value="something"/>
</bean>

POM:

<osgi-import-package>
  org.apache.commons.dbcp
</osgi-import-package>

<dependency>
  <groupId>org.apache.servicemix.bundles</groupId>
  <artifactId>org.apache.servicemix.bundles.commons-dbcp</artifactId>
  <version>1.4_3</version>
</dependency>

マニフェストファイルを削除しました。コモンズをアンインストールしました-servicemixからプールします。

于 2012-05-02T12:05:32.317 に答える
2

このエラーのもう1つの理由は、mysqlコネクタがないことである可能性があることに注意してください。Karafシェルに次のコマンドを使用してインストールします。

インストール-smvn:mysql / mysql-connector-java / 5.1.18

于 2013-04-18T13:43:45.457 に答える