Consegui Criar uma aplicação spring mvc(annotation) com wildfly 10, e fazer acesso a um datasource, porem estou tendo problemas para usar dois datasources, alguem ja conseguiu fazer aldo pareceido ?
Sinceramente, eu não entendo qual a razão pela qual seria necessário utilizar dois datasources.
Se a ideia é integrar dados, crie um serviço para tal.
De qualquer maneira, qual o problema? O que está ocorrendo?
é que estou criando um dashboard que vai mostrar dados estatísticos então na verdade eu vou precisar acessar mais de uma base, por isso queria acessar na mesma aplicação
Entendi.
E qual o erro?
tenho um datasource na minha classe de configuração:
@EnableTransactionManagement
public class JPAConfiguration {
@Bean
public LocalContainerEntityManagerFactoryBean
entityManagerFactory(DataSource dataSource){
LocalContainerEntityManagerFactoryBean em =
new LocalContainerEntityManagerFactoryBean();
em.setDataSource(dataSource);
em.setPackagesToScan(new String[]
{"caminho para o pacote do model"});
JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
em.setJpaVendorAdapter(vendorAdapter);
em.setJpaProperties(additionalProperties());
return em;
}
@Bean
private Properties additionalProperties(){
Properties properties = new Properties();
properties.setProperty("hibernate.dialect", "org.hibernate.dialect.OracleDialect");
properties.setProperty("hibernate.show_sql", "true");
return properties;
}
@Bean()
DataSource dataSource() {
DataSource dataSource = null;
JndiTemplate jndi = new JndiTemplate();
try {
dataSource = jndi.lookup("caminho para datasource no servidor", DataSource.class);
} catch (NamingException e) {
System.out.println(e);
}
return dataSource;
}
@Bean
public PlatformTransactionManager
transactionManager(EntityManagerFactory emf){
JpaTransactionManager transactionManager = new JpaTransactionManager();
transactionManager.setEntityManagerFactory(emf);
return transactionManager;
}
}
se eu tentar configurar outro datasource nessa mesma classe o spring não reconhece o outro e vi em outros lugares que normalmente utilizam uma classe de configuração por datasource com spring, tentei fazer o mesmo mas não deu certo também.
Sim, seria o correto utilizar uma classe para cada datasource.
Agora, o que me preocupa é isso:
O não dar certo é extremamente abrangente. Pode ser derivado de um erro qualquer. Entende?
é que agora alterei o código todo de novo, ai estava procurando algum exemplo com dois datasources e spring mvc com annotation
consegui resolver , estou usando o spring com jpa puro ao inves de deixar o spring cuidar das transações, obrigado