次のSpring-Boot-AplicationがありますdependencyManagement
:
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.1.5.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
および次のとおりdependencies
です。
spring-boot-starter-jersey
spring-boot-starter-jdbc(exclusion:tomcat-jdbc)
HikariCP(version:3.3.1)
ojdbc7
Tomcatでは、 JNDI-Datasourceを次のように構成しました。
<Resource name="jdbc/myDS"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
username="Superuser"
password="secret"
url="jdbc:oracle:thin:@xxxDbX"
../>
.properties
-file に、次のプロパティを追加しました。
spring.datasource.type=org.apache.tomcat.jdbc.pool.DataSource
spring.datasource.jndi-name=jdbc/myDS
プロパティからDataSourceSpring-Boot
を構成できるので、そうさせて、DataSource用の余分なコードを記述しません。スタンドアロンの Tomcatにデプロイすると、完全に機能します。
論理的には、 Spring Bootは組み込みの TomcatでJNDI-Resourceを見つけることができず、取得したSpring-Boot-Applicationとしてアプリケーションを開始します。
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to bind properties under 'spring.datasource.type' to java.lang.Class<javax.sql.DataSource>:
Property: spring.datasource.type
Value: org.apache.tomcat.jdbc.pool.DataSource
Origin: class path resource [application.properties]:12:24
Reason: No converter found capable of converting from type [java.lang.String] to type [java.lang.Class<javax.sql.DataSource>]
Action:
Update your application's configuration
アプリケーションをSpring-Boot-Applicationとして起動し、任意のStandalone Tomcatにデプロイできるwarファイルもビルドできるようにしたいと考えています。
アプリケーションがSpring-Boot-Applicationとして開始された場合、または2番目のファイルが必要なproperties
場合に備えて、2番目のDataSourceを追加することでこれは可能ですか?.properties