Spring Boot Using Embedded Tomcat with JNDI

后端 未结 2 1594
无人及你
无人及你 2020-12-19 21:49

I am using Spring Boot with Embedded Tomcat and attempting to use JNDI but getting the following error:

javax.naming.NameNotFoundException: Name [jdbc/dataSource]

相关标签:
2条回答
  • 2020-12-19 22:14

    You need to set lookupOnStartup to false on the JndiObjectFactoryBean.

    Alternatively, if you need the lookup to work during startup, then this answer may be of interest.

    Edit: you've also set the JNDI name on your JndiObjectFactory bean incorrectly. It needs to be java:comp/env/jdbc/myDataSource not jdbc/dataSource.

    You use a different name when you're looking up the resource versus when you registered it as the registration automatically places the resource beneath java:comp/env/.

    0 讨论(0)
  • 2020-12-19 22:24

    If you are using spring boot, no need for all of that class. It is already configured in @EnableAutoConfiguration or @SpringBootApplication

    Just put the following in your application.properties file or equivalent in application.yml file

    spring.datasource.driverClassName=JDBCDriverClassName
    spring.datasource.url=databaseUrl
    spring.datasource.username=databaseUsername
    spring.datasource.password=databasePassword
    spring.datasource.jndi-name=java:jdbc/dataSource
    
    0 讨论(0)
提交回复
热议问题