Ich habe eine App mit Spring Boot (1.3.3.RELEASE)/Cloud (Brixton.M5) mit MySQL in Stackato CF, wo ich CrudRepository eingesetzt. Leider startet Spring Boot beim Start der App DataSource automatisch mit einer der von Stackato bereitgestellten JDBC-URLs, eine mit Benutzername und Passwort, z.Auswählen von Parametern, die von Spring Boot beim Erstellen einer Datenquelle in CF verwendet werden sollen?
jdbc:mysql://yourUser:[email protected]:3306/yourDB
Leider anscheinend nehmen dann Frühling Stiefel, dass alles vor: mein Gastgeber, während [email protected]: 3306 der Hafen und am Ende bekomme ich einen bösen Fehler. Hier
ist der Ausgang Ich sehe, wenn die Anwendung gestartet wird:
[app.0] 2016-05-27T15:25:59.000Z: 2016-05-27 08:25:59.266 INFO 148 --- [ main] urceCloudServiceBeanFactoryPostProcessor : Auto-reconfiguring beans of type javax.sql.DataSource
[app.0] 2016-05-27T15:25:59.000Z: 2016-05-27 08:25:59.303 INFO 148 --- [ main] o.c.r.o.s.c.s.r.PooledDataSourceCreator : Found Tomcat high-performance connection pool on the classpath. Using it for DataSource connection pooling.
[app.0] 2016-05-27T15:25:59.000Z: 2016-05-27 08:25:59.345 INFO 148 --- [ main] urceCloudServiceBeanFactoryPostProcessor : Reconfigured bean dataSource into singleton service connector [email protected]{ConnectionPool[defaultAutoCommit=null; defaultReadOnly=null; defaultTransactionIsolation=-1; defaultCatalog=null; driverClassName=com.mysql.jdbc.Driver; maxActive=4; maxIdle=100; minIdle=0; initialSize=0; maxWait=30000; testOnBorrow=true; testOnReturn=false; timeBetweenEvictionRunsMillis=5000; numTestsPerEvictionRun=0; minEvictableIdleTimeMillis=60000; testWhileIdle=false; testOnConnect=false; password=********; url=jdbc:mysql://uk0pSal2suQS6:[email protected]:3306/dd558a39d22d44c059bb438d3b61941ef; username=null; validationQuery=/* ping */ SELECT 1; validationQueryTimeout=-1; validatorClassName=null; validationInterval=30000; accessToUnderlyingConnectionAllowed=true; removeAbandoned=false; removeAbandonedTimeout=60; logAba
und hier ist er ich später Fehler:
[app.0] 2016-05-27T18:23:19.000Z: 2016-05-27 11:23:19.767 WARN 148 --- [io-44230-exec-6] o.h.engine.jdbc.spi.SqlExceptionHelper : SQL Error: 0, SQLState: 01S00
[app.0] 2016-05-27T18:23:19.000Z: 2016-05-27 11:23:19.767 ERROR 148 --- [io-44230-exec-6] o.h.engine.jdbc.spi.SqlExceptionHelper : Illegal connection port value '[email protected]:3306'
Irgendwelche Vorschläge, wie um dies zu realisieren, ohne CrudTemplate zu fallen? :)
Ich habe bereits versucht, richtige spring.datasource.url mit spring.datasource.username und spring.datasource.password in den Konfigurationsdateien zu setzen, aber es scheint, dass Spring Boot/Cloud diejenigen beim Start zugunsten von Variablen ignoriert durch die Umgebung.
Können Sie einen Stack-Trace zusammen mit der Version der von Ihnen verwendeten Bibliotheken bereitstellen? Spring Boot + Spring Cloud wird diese URL gerne parsen - sie sollte einfach funktionieren. – ipsi
Hallo, Info zum Inhalt der Frage hinzugefügt :) –