使用mule studio上的java组件从数据库中检索数据

时间:2014-03-24 21:45:04

标签: java database mule mule-studio

我需要在mule studio中使用java组件从数据库中提取数据。 那就是Http> SOAP> Java组件(在主类中我将提供数据库查询以从我的数据库中获取详细信息)> SOAP> http 以xml发送请求并在xml中获取响应。 当我在java类中使用硬编码值时,我得到了一个响应,但是当我试图从数据库面临问题时。 非常感谢帮助。

下面的

是我的java代码的一部分

String url = "jdbc:oracle:thin:@localhost:1521:XE";
Class.forName("oracle.jdbc.driver.OracleDriver");

Connection conn = DriverManager.getConnection(url, "uname", "pwd");
Statement st = conn.createStatement();
ResultSet result= st.executeQuery("select * from mule.tablename");

while(result.next())
{
    long quoteId  = result.getLong("quote_id");

    if(parameters.getQuote().getQuoteId() == quoteId)
    {
        QuoteResponseType quoteresp = new QuoteResponseType();
        quoteresp.supplierId = result.getString("supplier_id");
        quoteresp.respFreightAmount = result.getDouble("resp_freight_amount");
        quoteresp.respTaxAmount = result.getDouble("resp_tax_amount");
        quoteresp.supplierQuoteNumber = result.getString("supplier_quote_no");
        al.add(quoteresp);
    }

    NewQuoteResponse.quote.quoteResponse = al;
}

提前致谢。

2 个答案:

答案 0 :(得分:1)

您可以在您的Mule流中使用并在Java实现类中使用<spring:beans> <spring:bean id="DB_Source" name="DB_Source"class="org.enhydra.jdbc.standard.StandardDataSource"> <spring:property name="url" value="${url}"/> <spring:property name="driverName" value="${driverName}"/> </spring:bean> </spring:beans> <jdbc-ee:connector name="Database_Global" dataSource-ref="DB_Source" validateConnections="true" queryTimeout="-1" pollingFrequency="0" doc:name="Database"> <jdbc-ee:query key="RetriveQuery" value="select * from mule.tablename"/> </jdbc-ee:connector> 进行注入,如下所示: -

lookupConnector

在Java类中,您可以使用jdbcConnector = (JdbcConnector) muleContext.getRegistry() .lookupConnector("Database_Global"); 获取数据库组件的访问权限: -

Ext.getCmp

答案 1 :(得分:0)

我建议你在Mule xml文件中定义一个JDBC DataSource,然后将它注入你的Java类。