Rodar procedure JAVA / SQL-Oracle

Ola pessoal boa noite estou tentando rodar uma procedure com o java porem esta explodindo erro de indice de coluna alguem consegue me ajudar por favor? segue o código

public void rodaProcessoDAO(int mes1, int mes2, int ano) {          
     
        System.out.println("NOME NO DAO: " + mes1 + mes2 + ano);
       try
    {                   
      // create a sql database connection
      String myDriver = "oracle.jdbc.driver.OracleDriver";
      
      
      String myUrl = "jdbc:oracle:thin:@//*****:1521/admtst";
      Class.forName(myDriver);
            try (Connection conn = DriverManager.getConnection(myUrl, "**", "**")) {
                CallableStatement ctsmt = conn.prepareCall("{call ara_01_fat_nestle_docrecon(?,?,?)}");
                ctsmt.registerOutParameter(1, mes1);
                ctsmt.registerOutParameter(2, mes2);
                ctsmt.registerOutParameter(3, ano);
                ctsmt.execute();
                
                if (ctsmt.getString(3) != null) {
                    throw new Exception(ctsmt.getString(3));
                }
                // execute the preparedstatement
                System.err.println("gravado com sucesso o procedimento!!!!");
            }
      
      
    }
    catch (Exception e)
    {
      System.err.println("ERRO PARA GRAVAR NO BANCO DE DADOS");
      System.err.println(e.getMessage());
      System.out.println("SQLState: " + e.getMessage());
      System.out.println("VendorError: " + e.getLocalizedMessage());
    }
  }

segue o erro.

SQLState: Tipo de coluna inválido: 9
ERRO PARA GRAVAR NO BANCO DE DADOS
VendorError: Tipo de coluna inválido: 9
Tipo de coluna inválido: 9

Pelo que estou analisando nao esta nem chegando na Procedure esse metodo. Pois alterei o nome da procedure e o erro continuou o mesmo

Pessoal boa noite,

consegui resolver… erro tonto…

ctsmt.setInt(1, mes1);
ctsmt.setInt(2, mes2);
ctsmt.setInt(3, ano);
ctsmt.execute();