访问java

时间:2017-03-16 12:26:24

标签: spring dependency-injection apache-camel datasource javabeans

我在一个部署在karaf上的blueprint.xml中定义了一个dataSource:

<bean id="dataSource" class="com.mysql.jdbc.jdbc2.optional.MysqlDataSource">
    <property name="url" value="jdbc:mysql://server/db"/>
    <property name="user" value="user"/>
    <property name="password" value="password"/>
</bean>

<service interface="javax.sql.DataSource" ref="dataSource">
    <service-properties>
        <entry key="osgi.jndi.service.name" value="jdbc/mysqlDatasource" />
    </service-properties>
</service>

在我的blueprint.xml内的bundle中,我得到了以下这个数据源的引用和bean:

<reference id="dataSource" interface="javax.sql.DataSource"
    filter="(osgi.jndi.service.name=jdbc/mysqlDatasource)">
</reference>

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

这样我可以在我的camel sql组件中使用dataSource。

是否可以将此数据源放入此捆绑包中的任何其他java类?

<bean id="somebean" class="some.path.to.SomeClazz">
    <property name="dataSource" ref="dataSource" />
</bean>

因为在这种情况下这显然不起作用。

0 个答案:

没有答案