我試圖構建駱駝SQL應用程序,但我堆棧。駱駝SQL組件
我在http://camel.apache.org/sql-component.html
頁面找到關於camel-sql的信息。
我創建的XML配置,如實例,並在我的FUSE ESB我發現異常:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name
'camel-21': Invocation of init method failed; nested exception is
org.springframework.beans.factory.CannotLoadBeanClassException:
Cannot find class [org.springframework.jdbc.datasource.DriverManagerDataSource]
for bean with name 'esb' defined in URL [bundle://249.2:0/META-INF/spring/camel-context.xml]; nested exception is java.lang.ClassNotFoundException:
org.springframework.jdbc.datasource.DriverManagerDataSource not found from bundle [camel]
但在我的保險絲控制檯我有春天的jdbc:
[email protected]> osgi:list | grep Spring
ID國家藍圖春級別名稱 [73] [活動] [] [] [60]的Spring Bean(3.0.5.RELEASE)
[74] [活動] [] [] [60] Spring上下文支持(3 。 0.5.RELEASE)
[75] [有效] [] [] [60]彈簧上下文(3.0.5.RELEASE)
[76] [有效] [] [] [60]彈簧表達式語言(3.0.5.RELEASE)
[77] [有效] [] [] [60]彈簧ASM(3.0.5.RELEASE)
[78] [有效] [] [] [60]彈簧芯(3.0.5.RELEASE)
[79] [有效] [] [] [60]彈簧AOP(3.0.5.RELEASE)
[87] [有效] [] [] [60]的Apache XBean ::彈簧(3.8)
[92] [有效] [] [] [50]彈簧交易(3.0.5.RELEASE)
[94] [有效] [] [] [50]彈簧JMS(3.0.5.RELEASE)
[169] [有效] [] [] [50]的Apache XBean ::彈簧(3.7 )
[223] [活動] [] [] [60]的Spring Web(3.0.5.RELEASE)
Spring Web Servlet(3.0.5.RELEASE)
[252] [Active] [] [] [50] Spring JDBC(3.0.5.RELEASE)
我需要做什麼?
UPDATE:
我POM是:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>camelWs</groupId>
<artifactId>camel</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>A Camel Route</name>
<url>http://www.myorganization.org</url>
<dependencies>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-core</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-spring</artifactId>
<version>2.9.0</version>
</dependency>
<!-- logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-sql</artifactId>
<version>2.8.0</version>
<!-- use the same version as your Camel core version -->
</dependency>
</dependencies>
<build>
<defaultGoal>install</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.1.0</version>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<Import-Package>
org.springframework.jdbc.datasource
</Import-Package>
</instructions>
</configuration>
</plugin>
<!-- allows the route to be ran via 'mvn camel:run' -->
<plugin>
<groupId>org.apache.camel</groupId>
<artifactId>camel-maven-plugin</artifactId>
<version>2.9.0</version>
<configuration>
<instructions>
<Import-Package>
*,
org.springframework.jdbc,
org.springframework.jdbc.datasource
</Import-Package>
<DynamicImport-Package>camel.*</DynamicImport-Package>
</instructions>
</configuration>
</plugin>
</plugins>
</build>
</project>
但是當我使用OSGi:頭我沒有看到導入的類,什麼是錯的IM我的pom.xml?
OSGi的:標題:
camel (271)
-----------
Manifest-Version = 1.0
Bnd-LastModified = 1332154265299
Archiver-Version = Plexus Archiver
Tool = Bnd-0.0.357
Originally-Created-By = Apache Maven
Generated-By-Ops4j-Pax-From = wrap:file:/.../$Bundle-SymbolicName=camel&Bundle-Version=1.0.0.SNAPSHOT
Build-Jdk = 1.6.0_29
Created-By = 1.6.0_29 (Apple Inc.)
Bundle-Name = camel
Bundle-SymbolicName = camel
Bundle-Version = 1.0.0.SNAPSHOT
Bundle-ManifestVersion = 2
Private-Package =
.
Import-Package =
camel;resolution:=optional,
org.apache.camel.builder;resolution:=optional,
org.apache.camel.model;resolution:=optional,
org.apache.camel.spring;resolution:=optional
Export-Package =
camel;uses:="org.apache.camel.builder,org.apache.camel.model,org.apache.camel.spring"
我找到了'org.springframework.jdbc.datasource' - 我已經在 – Ilkar 2012-03-19 10:23:43
以上添加更新了。抱歉,我看了一下錯誤的包 - 你能看看我的更新嗎? – Ilkar 2012-03-19 10:56:35
您確定您的包裝正確嗎?我看到你使用** wrap ** util來部署你的路由JAR,它不應該是一個直接使用Maven bundle插件構建的bundle嗎?從我所知的wrap util掃描java的導入來構建清單,而不是spring的上下文,這可能是問題所在。 – 2012-03-19 14:28:42