मैं अपाचे ऊंट एसक्यूएल घटक के साथ उपयोग के लिए डेटा स्रोत बनाने की कोशिश कर रहा हूं और दस्तावेज़ीकरण मैंने स्प्रिंग डेटा स्रोत गुणों को परिभाषित किया है और मेरी पोम फ़ाइल में निर्भरताएँ शामिल हैं:

        <dependency>
            <groupId>org.apache.camel.springboot</groupId>
            <artifactId>camel-jdbc-starter</artifactId>
        </dependency>

        <!-- Component dependencies-->
        <dependency>
            <groupId>org.apache.camel.springboot</groupId>
            <artifactId>camel-sql-starter</artifactId>
        </dependency>

        <!-- MS SQL jdbc driver -->
        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>mssql-jdbc</artifactId>
            <version>8.2.2.jre11</version>
        </dependency>

मैंने कई पढ़े गए उदाहरणों के अनुसार एक कॉन्फ़िगर किया गया डेटा स्रोत भी परिभाषित किया है (हालांकि अगर मुझे गलत नहीं लगता है, तो वसंत डिफ़ॉल्ट डेटासोर्स गुणों को परिभाषित करने की आवश्यकता नहीं है):

@Configuration
public class DataSourceConfig {

    @Bean(name = "etlDataSource")
    @ConfigurationProperties("spring.datasource")
    public DataSource getDataSource(){
        return DataSourceBuilder.create().build();
    }
}

अब तक मेरे प्रयास, सभी एक ही त्रुटि में परिणाम:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'etlDataSource' defined in class path resource [com/test/camel/etl/config/DataSourceConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.sql.DataSource]: Factory method 'getDataSource' threw exception; nested exception is java.lang.IllegalStateException: No supported DataSource type found

मैं कुछ पॉइंटर्स की सराहना करता हूं कि मैं क्या खो रहा हूं।

संपादित करें:

मेरे डेटा स्रोत गुण परिभाषित के रूप में:

spring:
  datasource:
    password: some_passw0rd
    url: jdbc:sqlserver://localhost:1433;trustServerCertificate=false;loginTimeout=30;
    username: sa
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
    platform: mssql
0
Dark Star1 13 जुलाई 2020, 17:36

1 उत्तर

सबसे बढ़िया उत्तर

मैंने इसे हल किया। मैंने DataSourceBuilder स्रोत और देखा कि निर्माण विधि प्रकार को निर्धारित करने का प्रयास करती है, इसलिए मैंने तात्कालिकता में एक निर्दिष्ट किया और यह काम किया:

    @Bean(name = "etlDataSource")
    @ConfigurationProperties("spring.datasource")
    public DataSource getDataSource(){
        return DataSourceBuilder.create().type(BasicDataSource.class).build();
    }
0
Dark Star1 14 जुलाई 2020, 10:18