【问题标题】:sql datasource in blueprint.xml in servicemixservicemix 中 blueprint.xml 中的 sql 数据源
【发布时间】:2015-04-28 17:52:59
【问题描述】:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
    <property name="url" value="jdbc:sqlserver://localhost:1433/orderdb"/>
    <property name="username" value="abc"/>
    <property name="password" value="pqr"/>
</bean>

当我尝试使用 dataSource.getConnection() 建立连接时

不允许请帮忙

*****连接代码**********

公共类 DatabaseBeanH2 {

private DataSource dataSource;
private static final Logger LOGGER = LoggerFactory.getLogger(DatabaseBeanH2.class);

public DatabaseBeanH2(){}

public void setDataSource(DataSource dataSource) {
    this.dataSource = dataSource;
}

public void create() throws SQLException{
    Statement sta = dataSource.getConnection().createStatement();
    try {
        sta.executeUpdate("CREATE TABLE orders ( id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, item VARCHAR(50), amount INT, description VARCHAR(300), processed BOOLEAN, consumed BOOLEAN);");
    } catch (SQLException e) {
        LOGGER.info("Table orders already exists");
    }
}

public void destroy() throws SQLException {
    dataSource.getConnection().close();
}

}

【问题讨论】:

  • 请分享您尝试获取连接的代码。无法根据以上信息进行分析。
  • 如果您的数据源配置正确,您还可以检查 servicemix/karaf shell 中的 jdbc: 命令。

标签: sql datasource apache-servicemix


【解决方案1】:

您必须在骆驼/弹簧上下文中的 DatabaseBeanH2 中注入 dataSource bean,如下所示:

<bean id="databaseBean" class="my.package.DatabaseBeanH2">
    <property name="dataSource" ref="dataSource" />
</bean>

【讨论】:

猜你喜欢
  • 2015-07-02
  • 2014-12-20
  • 1970-01-01
  • 2015-04-29
  • 1970-01-01
  • 2013-01-06
  • 1970-01-01
  • 2016-06-08
  • 2013-04-08
相关资源
最近更新 更多