Sql 在 camel servicemix 中使用 jdbc 在 localmachine

Sql in camel servicemix using jdbc in localmachine

我在本地机器上的 servicemix 中使用 camel 我想连接到 sql 服务器所以我必须安装 jdbc 或者我可以使用 servicemix 的 m2 请帮助我使用 camel-sql-datasource-h2 用于 sql 操作 如果是,那么我尝试更改 \blueprint.xml 的用户名和密码,但它没有给出正确的结果

不,您必须在 ServiceMix 安装中提供相应的 JDBC 驱动程序。例如,如果您使用 MySQL,则必须在 ServicMix 中安装 JDBC 驱动程序:

osgi:install -s mvn:mysql/mysql-connector-java/5.1.34

在您的数据源中,您必须提供相应的属性,对于 MySQL:

<bean id="mySqlDataSource" class="org.apache.commons.dbcp2.BasicDataSource"
    destroy-method="close" scope="singleton">
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="jdbc:mysql://localhost:3306/myveo" />
    <property name="username" value="xxx" />
    <property name="password" value="yyy" />
    <property name="initialSize" value="0" />
</bean>

并像这样配置 sql 组件

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

你像在这个 enrich 组件中一样使用它

<enrich uri="sql:select * from MY_TABLE;" strategyRef="myAggregationStrategy" strategyMethodAllowNull="true" />

您也可以使用jdbc:create 命令。您应该先安装 jdbc 功能并像这样创建数据源

jdbc:create -t MySQL -i --username xxx --password yyy -url jdbc:mysql://localhost:3306/myveo mySqlDataSource

-i参数会自动安装驱动。您可以在 deploy/datasource-mySqlDataSource.xml

中找到驱动配置

您接下来可以使用

引用数据源
<reference id="demoDataSource" interface="javax.sql.DataSource" />