3
respostas

[Dúvida] Type mismatch: cannot convert from ComboPooledDataSource to DataSource

import java.sql.Connection;
import java.sql.SQLException;

import javax.sql.DataSource;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class ConnectionFactory {

    public DataSource dataSource;

    public ConnectionFactory() {
        ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();
        comboPooledDataSource.setJdbcUrl("jdbc:mysql://localhost/loja_virtual?useTimeZone=true&serverTimeZone=UTC");
        comboPooledDataSource.setUser("root");
        comboPooledDataSource.setPassword("dani1804");

        comboPooledDataSource.setMaxPoolSize(15);

        this.dataSource = comboPooledDataSource;  -->>> linha que dá o erro 
    }

    public Connection recuperarConexao() throws SQLException {
        return this.dataSource.getConnection();
    }
}

Na linha this.dataSource = comboPooledDataSource; do ConnectionFatory, mesmo adicionando os 2 jars do site, está aparecendo o erro Type mismatch: cannot convert from ComboPooledDataSource to DataSource não deixando converter de ComboPooledDataSource para DataSource.

3 respostas

Olá Daniela, tudo bem?

Não estou conseguindo ver o erro :(

Segundo a documentação com.mchange.v2.c3p0.ComboPooledDataSource é compativel com javax.sql.DataSource

https://www.mchange.com/projects/c3p0/apidocs/com/mchange/v2/c3p0/ComboPooledDataSource.html

Qual aula vc está assistindo?

abs, Nico

Olá Nico, tudo bem? o erro da linha que mencionei já consegui resolver. O problema é que o programa não está rodando, está aparecendo a seguinte mensagem:

Exception in thread "main" java.lang.ClassCastException: class loja.virtual.reposiroty.ComboPooledDataSource cannot be cast to class javax.sql.DataSource (loja.virtual.reposiroty.ComboPooledDataSource is in module loja.virtual.reposiroty of loader 'app'; javax.sql.DataSource is in module java.sql of loader 'platform') at loja.virtual.reposiroty/com.mchange.v2.c3p0.ConnectionFactory.(ConnectionFactory.java:23) at loja.virtual.reposiroty/loja.virtual.reposiroty.TestaPoolConexoes.main(TestaPoolConexoes.java:11)

Estou fazendo o curso Java e JDBC: trabalhando com um banco de dados. Eu baixei o projeto já pronto no curso mas também dá o mesmo erro.

Oi Daniela, me passa o link do curso para eu testar aqui. Obrigado, Nico