4 Troubleshooting Deployment Errors/Exceptions
This topic describes the troubleshooting information for Errors/Exceptions that can occur due to flyway while deployment.
Errors / Exceptions on Flyway Deployment
org.springframework.beans.factory.UnsatisfiedDependencyException:
Error creating bean with name 'application': Unsatisfied dependency
expressed through field 'flywayApplicationConfig'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'executeDomain' defined in class path resource
[oracle/fsgbu/plato/flyway/FlywayConfig.class]: Bean instantiation via
factory method failed; nested exception...SQL State : 42000
- executeDomain
- executePlato
- executePlatoSec
- executePlatoUI
- executeSms
- executeCmc
- executeMidofcmc
- executePlatofeed
- executePlatobatch
- executePlatoorch
Solution for Errors/Exceptions
- At first for each case,, the service through Plato-configuration-service should be checked to see if it is suggesting the correct scheme via the plato-config-service.
- After checking that it is to be ensured for that particular APPLICATION, the following entries are present in the PROPERTIES table in the plato Schema.
Table 4-1 Properties Table
BEAN PROPERTY_SET NEED TO BE PRESENT executeDomain flyway.domain.db.* executePlato flyway.plato.db.* executePlatoSec flyway.platosec.db.* executePlatoUI flyway.platoui.db.* executeSms flyway.sms.db.* executeCmc flyway.cmc.db.* executeMidofcmc flyway.domain.db.* executePlatofeed flyway.platofeed.db.* executePlatobatch flyway.platobatch.db.* executePlatoorch flyway.platoorch.db.*
Depending on whether for the flyway db connection, JNDI name is being used or the JDBC URL and other details are used, each property set will look as follows:
flyway.domain.db.username
flyway.domain.db.password
flyway.domain.db.jdbcUrl
flyway.domain.db.driver-class-name
flyway.domain.schemas
flyway.domain.locations
flyway.domain.placeholderReplacement
flyway.domain.ignoreMissingMigrations
flyway.domain.outOfOrder
flyway.domain.db.jndi
flyway.domain.schemas
flyway.domain.locations
flyway.domain.placeholderReplacement
flyway.domain.ignoreMissingMigrations
flyway.domain.outOfOrder
flyway.jndi.datasource.enabled
In each case, make sure that all the relevant placeholders are available in the scripts in the respective locations.
No value provided for placeholder: ${eureka.host}. Check your configuration!
In the example above, an error occurred due to the absence of passing the following parameter in the properties table:
flyway.domain.placeHolders.eureka.host
Solution:
Similarly, any placeholder where the error occurred must pass to the environment through the properties table or the command line arguments (as -D parameters).