Fehler beim konfigurieren einer Datenquelle: "url" - Attribut nicht angegeben ist und keine eingebetteten Datenquelle konfiguriert werden kann
Arbeite ich an Spring-Boot-Batch - Beispiel mit der MongoDB und schon fing die Mongod server
Wenn ich am Start meiner Anwendung, ich bekomme die folgende Fehlermeldung.
Alle Zeiger für dieses Problem ?
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
Action:
Consider the following:
If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
Anwendung.Eigenschaften:
# Mongo database URI. Cannot be set with host, port and credentials.
spring.data.mongodb.uri=mongodb://localhost/test
pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-batch</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
Habe ich begonnen mongod
C:\Users\pc>mongod
2018-07-07T14:39:39.223+0530 I JOURNAL [initandlisten] journal dir=C:\data\db\journal
2018-07-07T14:39:39.230+0530 I JOURNAL [initandlisten] recover : no journal files present, no recovery needed
2018-07-07T14:39:39.478+0530 I JOURNAL [durability] Durability thread started
2018-07-07T14:39:39.589+0530 I CONTROL [initandlisten] MongoDB starting : pid=11992 port=27017 dbpath=C:\data\db\ 64-bit host=DESKTOP-NQ639DU
2018-07-07T14:39:39.589+0530 I CONTROL [initandlisten] targetMinOS: Windows 7/Windows Server 2008 R2
2018-07-07T14:39:39.591+0530 I CONTROL [initandlisten] db version v3.0.5
2018-07-07T14:39:39.592+0530 I CONTROL [initandlisten] git version: 8bc4ae20708dbb493cb09338d9e7be6698e4a3a3
2018-07-07T14:39:39.592+0530 I CONTROL [initandlisten] build info: windows sys.getwindowsversion(major=6, minor=1, build=7601, platform=2, service_pack='Service Pack 1') BOOST_LIB_VERSION=1_49
2018-07-07T14:39:39.592+0530 I CONTROL [initandlisten] allocator: tcmalloc
2018-07-07T14:39:39.593+0530 I CONTROL [initandlisten] options: {}
2018-07-07T14:39:39.595+0530 I JOURNAL [journal writer] Journal writer thread started
2018-07-07T14:39:40.485+0530 I NETWORK [initandlisten] waiting for connections on port 27017
2018-07-07T14:40:39.140+0530 I NETWORK [initandlisten] connection accepted from 127.0.0.1:51340 #1 (1 connection now open)
2018-07-07T14:40:41.663+0530 I NETWORK [conn1] end connection 127.0.0.1:51340 (0 connections now open)
2018-07-07T14:45:12.421+0530 I NETWORK [initandlisten] connection accepted from 127.0.0.1:51578 #2 (1 connection now open)
2018-07-07T14:45:12.870+0530 I NETWORK [conn2] end connection 127.0.0.1:51578 (0 connections now open)
2018-07-07T14:46:21.734+0530 I NETWORK [initandlisten] connection accepted from 127.0.0.1:51591 #3 (1 connection now open)
2018-07-07T14:46:22.041+0530 I NETWORK [conn3] end connection 127.0.0.1:51591 (0 connections now open)
2018-07-07T14:57:47.523+0530 I NETWORK [initandlisten] connection accepted from 127.0.0.1:52534 #4 (1 connection now open)
2018-07-07T14:57:47.910+0530 I NETWORK [conn4] end connection 127.0.0.1:52534 (0 connections now open)
Du musst angemeldet sein, um einen Kommentar abzugeben.
dein problem ist die Abhängigkeit von spring batch
spring-boot-starter-batch
hat eine spring-boot-starter-jdbc-maven transitive Abhängigkeit.Spring Batch ist ein framework für den Aufbau zuverlässiger und Fehlertoleranz der enterprise-batch. Es unterstützt viele Funktion wie " wiederholen Neustart des Scheiterns batch record status der batch-Ausführung und so weiter. Um das zu erreichen, spring batch verwenden Sie ein Datenbank-schema für das speichern des status der registrierten Arbeitsplätze, die automatische Konfiguration schon bieten Sie die grundlegende Konfiguration der gewünschten Datenquelle aus, und ist diese Konfiguration, die erfordern, dass die relationale Datenbank-Konfiguration.
Lösen haben Sie einige Datenbank-Treiber wie mysql, h2 und so weiter und konfigurieren Sie die url.
Update
Nur für das erste starten können Sie die Anwendung konfigurieren.yml wie folgt:
- und natürlich in deiner pom.xml gehören die h2 dirver
Die motivation, weil Sie nicht verwenden können, mongo für diesen propouse ist, dass die Verwendung von mongo ist nur für Element-lese - /Schreibgerät und nicht für die Verwaltung der internen Daten-Basis von spring batch, die eine interne schema nicht ein business-schema. Die Abfrage sind Reine sql-Abfrage und die interne Abstraktion verlassen, die über eine relationale Datenbank. Es ist notwendig, ave eine Datenbank mit ACID-Fähigkeit, weil jede Reihe, die Lesen und schreiben ein Teil der Arbeit und die Informationen speichern, um neu zu starten, job eine NoSql ist dafür nicht geeignet.
Am Ende müssen Sie konfigurieren eine relation der Datenbank, um zu bekommen, bereit spring batch für die interne Fähigkeit, die inneren Abstraktion nicht relais auf mongo nur auf jdbc. Dann mongo verwendet werden können, aber für die geschäftliche Seite der die batch über den Artikel reader/writer.
Ich hoffe, dass diese Reflexion kann Ihnen helfen klar Ihre Zweifel.
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
Ihre Anwendung zu überprüfen.Eigenschaften
ändern
zu
arbeitete für mich. Full config:
Nicht auf den Punkt der Frage (kann bezogen werden obwohl), aber, wenn Sie bootstrap ein neues Projekt, und Fragen sich, warum Sie den gleichen Fehler, es kommt vielleicht von der
artifactId
vonspring-boot-starter-data-jpa
in die Abhängigkeit Abschnitt. Ich gab die Abhängigkeit unten. Sie müssen definieren Sie die Datenbank, um loszuwerden, diese."Fehler beim konfigurieren einer Datenquelle" - Fehler. Zunächst wir das Problem durch die Definition der Datenquelle. Nächste, wir diskutierten, wie man das Problem umgehen, ohne die Konfiguration der Datenquelle überhaupt.
https://www.baeldung.com/spring-boot-failed-to-configure-data-source
Für spring boot-version
2.X.X
unter Konfiguration für mich gearbeitet.Alten jdbc-Treiber ist veraltet. Das neue ist an die oben genannte Konfiguration.
Verwenden Sie bitte die gleichen und starten Sie das Projekt neu.
Zugabe von h2 in Abhängigkeit von der pom-Datei können die Lösung derartiger Probleme.
......
com.h2database
h2
......
In meinem Fall
in Anwendung.Eigenschaften war der Grund
production
Profil, so aktivieren Sie dieses Profil, auch hätte Ihr Problem gelöst. das Problem hier ist die fehlendespring.datasource
config in der aktiven Konfiguration