0

I am trying to deploy a spring-boot 2.0.4 application. The configuration looks like below :

@Component
@Configuration
@PropertySource("classpath:elast.properties")
public class ElastSearchLogLevel {

    private static final Logger LOG = LoggerFactory.getLogger(ElastSearchLogLevel.class);

    @Value("${elast.mail.to}")
    private String to;
...

Locally on windows its working fine but in Linux box it says :

WARN o.a.commons.logging.impl.Jdk14Logger.log - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'elastSearchBootApplication': Unsatisfied dependency expressed through field 'logsSearch'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'elastSearchLogLevel': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'elast.mail.to' in value "${elast.mail.to}"

The instance 'elastSearchLogLevel' is autowired in SpringBootApplication class. Ideally i want to give an external configuration file from which the property can be read. As suggested in one of the forum I also tried but didn't work.

   @PropertySource("classpath:file:///my/file/path/elast.properties")

ok some more code :

@ComponentScan(basePackages = "some.packer.log")
@SpringBootApplication
@EnableScheduling
public class ElastSearchBootApplication {
...
Raghuveer
  • 2,859
  • 7
  • 34
  • 66

0 Answers0