Printemps de Démarrage avec JNDI de la Source de Données
J'ai un nouveau Printemps de Démarrage de l'application web que je veux me connecter à un JNDI de la source de données (MySQL base de données définie dans Tomcat context.xml).
Cependant, lorsque je tente de le faire, j'ai toujours de l'exception suivante;
org.springframework.beans.factory.BeanCreationException: Cannot determine embedded database url for database type NONE. If you want an embedded database please put a supported on on the classpath.
Et ce, malgré mon pom.xml contenant le connecteur MySQL
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.test</groupId>
<artifactId>twojndi</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>Two JNDI Data Sources</name>
<description>Two JNDI Data Sources Example</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.1.8.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<exclusions>
<exclusion>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
</exclusion>
<exclusion>
<artifactId>tomcat-jdbc</artifactId>
<groupId>org.apache.tomcat</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
</dependency>
</dependencies>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<start-class>org.test.twojndi.Application</start-class>
<java.version>1.7</java.version>
</properties>
<build>
<finalName>${artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
J'ai défini ma demande.les propriétés comme suit pour utiliser jndi-name propriété.
spring.datasource.jndi-name=java:comp/env/jdbc/twojndi_ds1
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
Toutefois malgré cela, il semble que le Printemps est d'avis qu'une base de données en mémoire doit être utilisé.
Je suis en mesure de se connecter à la base de données MySQL si je définir ma demande.propriétés ainsi
spring.datasource.url=jdbc:mysql://localhost:3306/twojndi_ds1
spring.datasource.username=twojndi
spring.datasource.password=twojndi
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
Quelqu'un peut-il m'aider à me connecter à JNDI avec Spring Boot?
Merci M. Deinum. En fait, la mise à niveau à la version 1.2.0.M1 est la réponse!
J'ai la mise à jour de M2, comme c'est un peu plus récent... vous ne savez Pas quand la finale est sur le point de sortir (je ne sais pas si il y a un calendrier de diffusion pour que).
J'ai essayé de M. Deinum. Cependant, j'ai rencontré ce problème lors du déploiement d'un Tomcat autonome: github.com/spring-projects/spring-boot/issues/1733
Je vais maintenant essayer deux JNDI sources de données. Vous ne savez pas si l' @EnableAutoConfiguration allons configurer le OpenEntityManagerInViewFilter pour les deux, ou si je peux il suffit de suivre cette démarche: docs.printemps.io/spring-boot/docs/1.2.0.M1/de référence/html/... ?
OriginalL'auteur johnmmcparland | 2014-10-22
Vous devez vous connecter pour publier un commentaire.
Comme commenté par M. Deinum, JDNI de recherche est mis en œuvre au Printemps de Démarrage 1.2, la version actuelle est la version 1.2.0.M2.
Si vous voulez le faire avec le Printemps de Démarrage 1.1, vous pouvez définir un bean comme ceci:
OriginalL'auteur dunni
Pour moi, il a travaillé la configuration suivante, guidé par la recette exposé dans ce lien, mais comme ils l'ont dit devant le même travail avec les versions de printemps de démarrage 1.2 ou plus
}
OriginalL'auteur wilbert