我在我的本地机器上使用camel在servicemix上,我想连接到sql server,所以我必须安装jdbc,或者我可以使用m2 of servicemix,请帮助我可以使用camel- sql -datasource h2进行sql操作吗?如果是的话,我尝试更改\blueprint.xml的用户名和密码,但是没有给出正确的结果。
发布于 2015-02-25 10:33:25
不,您必须在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 uri="sql:select * from MY_TABLE;" strategyRef="myAggregationStrategy" strategyMethodAllowNull="true" />发布于 2015-02-25 10:54:10
您还可以使用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" />https://stackoverflow.com/questions/28715848
复制相似问题