首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache Camel错误启动包

Apache Camel错误启动包
EN

Stack Overflow用户
提问于 2015-11-12 19:43:06
回答 2查看 3K关注 0票数 1

学习Apache尝试在jboss上部署一个应用程序-6.1.0.redhat-379。

POM如下

代码语言:javascript
复制
    <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/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.dao</groupId>
        <artifactId>camelDAO</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>bundle</packaging>
        <properties>
        <camel-version>2.13.0</camel-version>
        </properties>
        <dependencies>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.17</version>
            </dependency>
            <dependency>
                <groupId>commons-dbcp</groupId>
                <artifactId>commons-dbcp</artifactId>
                <version>1.4</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel</groupId>
                <artifactId>camel-jdbc</artifactId>
                <version>2.13.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel</groupId>
                <artifactId>camel-sql</artifactId>
                <version>2.13.0</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel</groupId>
                <artifactId>camel-core</artifactId>
                <version>${camel-version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.camel</groupId>
                <artifactId>camel-spring</artifactId>
                <version>${camel-version}</version>
            </dependency>
            <dependency>
                <groupId>commons-pool</groupId>
                <artifactId>commons-pool</artifactId>
                <version>1.4</version>
            </dependency>
        </dependencies>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <extensions>true</extensions>
                </plugin>

                <plugin>
                    <groupId>org.apache.camel</groupId>
                    <artifactId>camel-maven-plugin</artifactId>
                    <version>${camel-version}</version>
                </plugin>
            </plugins>
        </build>
    </project>

在数据库配置文件中,配置了以下内容

代码语言:javascript
复制
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost/univ" />
        <property name="username" value="root" />
        <property name="password" value="pass" />
</bean>


<bean id="sqlComponent"                                       
      class="org.apache.camel.component.sql.SqlComponent">
      <property name="dataSource" ref="dataSource" />
</bean>

并在路由上调用sql组件。

代码语言:javascript
复制
<to uri="sqlComponent:{{sql.insertData}}" />

当部署保险丝的时候-

代码语言:javascript
复制
Error executing command: Error starting bundles:
    Unable to start bundle 255: Unresolved constraint in bundle  
com.dao.came
lDAO [255]: Unable to resolve 255.0: missing requirement [255.0]   
osgi.wiring.pac
kage; (&(osgi.wiring.package=org.apache.camel.component.sql)  
(version>=2.13.0)(!(
version>=3.0.0))) [caused by: Unable to resolve 253.0: missing   
requirement [253.
0] osgi.wiring.package; (&(osgi.wiring.package=org.apache.camel) 
(version>=2.13.0
)(!(version>=3.0.0)))]

已经使用Have :install安装了jars,但仍然得到了上述错误

请帮我弄清楚。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-12 21:38:07

尝试导入丢失的包:

代码语言:javascript
复制
    <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>2.3.7</version>
        <extensions>true</extensions>
        <configuration>
            <instructions>
                <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                <Bundle-Description>${project.description}</Bundle-Description>
                <Import-Package>
                    *,
                    org.apache.camel.osgi,
                    org.apache.camel.component.sql,
                    org.apache.camel
                </Import-Package>
            </instructions>
        </configuration>
    </plugin>

并必须安装camel-sql特性。

更新:

已经使用Have :install安装了jars

您只需要对数据库驱动程序这样做,所有其他的都必须通过特性来安装。

代码语言:javascript
复制
>    <bean id="sqlComponent"                                       
>          class="org.apache.camel.component.sql.SqlComponent">
>          <property name="dataSource" ref="dataSource" />    
>    </bean>

可以更简单地实现:

代码语言:javascript
复制
<to uri="sql:{{sql.insertData}}?dataSource=dataSource" />

请检查您的Camel版本,安装在jboss服务器上,它必须与项目中指定的版本匹配。

票数 1
EN

Stack Overflow用户

发布于 2017-01-09 11:32:33

您需要在Jboss中安装Mysql连接器。对于安装,我们需要在Fuse终端中运行以下语句。

安装wrap:mvn:mysql/mysql-connector-java/5.1.39 -s

版本可以根据您使用的mysql连接器进行更改。

安装后一次。试着运行你的项目。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33679950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档