2017-08-19 5 views
1

Je suis un débutant dans spring-boot et je veux configurer ma session de printemps avec jdbc en utilisant la base de données h2, mais il ne crée pas une base de données table dans ma base de données intégrée h2, elle le crée dans PostgreSQL, en utilisant la source de données PostgreSQL que j'ai configurée dans le fichier de propriétés de mes applications. Comment est-ce que je fais mon application de printemps utiliser mon h2 db intégré pour stocker des sessions seulement sans entrer en conflit avec la source de données PostgreSQL pour mon JPACréer une source de données séparée pour ma session printemps en utilisant JDBC et Spring Print jpa au printemps démarrage

https://github.com/eshiett1995/SessionProject. J'aimerais si quelqu'un pourrait m'aider avec la session

+0

Pouvez-vous coller le code ou partager une URL github avec le projet? Sans code, il est assez difficile de trouver une solution applicable. – DevDio

+0

@DevDio va faire –

+0

@DevDio fait https://github.com/eshiett1995/SessionProject –

Répondre

0

vérifier https://github.com/nomanbplmp/CustomSessionStoreExample pour voir l'exemple complet.

Afin de faire fonctionner le magasin de session avec une base de données autre que primaire, il est nécessaire de fournir un référentiel de session personnalisé et de remplacer les internes du ressort comme indiqué ci-dessous.

@Configuration 
@EnableJdbcHttpSession 
class SessionConfig { 
    @Bean 
    public JdbcOperationsSessionRepository sessionRepository(){ 
     DataSource ds = DataSourceBuilder.create().driverClassName("org.h2.Driver").username("sa").url("jdbc:h2:file:~/test").build(); 
    return new SessionRepo(ds,new DataSourceTransactionManager(ds)); 

    } 
} 


class SessionRepo extends JdbcOperationsSessionRepository { 

    public SessionRepo(DataSource dataSource, PlatformTransactionManager transactionManager) { 
     super(dataSource, transactionManager); 

    } 


} 
+0

ça ne marche pas, avec @Primary, il crée juste une table pour mes entités en h2db seul –

+0

mis à jour ma réponse .. a créé un échantillon app –

+0

ça n'a pas marché comme je le voulais. il créait les tables de session dans la base de données h2 comme je le voulais, mais au lieu de créer mes entités dans PostgreSQL, il les créait aussi en h2. –