Getting - Caused by: java.lang.NoSuchMethodError: 'boolean io.gatling.core.config.SocketConfiguration.soReuseAddress()'

Hi,
I am trying to feed sql query to scenario. but it gives the error -
Caused by: java.lang.NoSuchMethodError: ‘boolean io.gatling.core.config.SocketConfiguration.soReuseAddress()’

My code -
package org.example;
//import static io.gatling.core.structure.ScenarioBuilder.;
import io.gatling.jdbc.Predef.
;
import io.gatling.http.Predef.*;
import io.gatling.http.request.builder.HttpRequestBuilder;
import io.gatling.javaapi.core.FeederBuilder;
import io.gatling.javaapi.core.ScenarioBuilder;
import io.gatling.javaapi.core.Simulation;
import io.gatling.javaapi.http.HttpProtocolBuilder;
import io.gatling.javaapi.core.Session;
import io.gatling.javaapi.http.HttpRequestActionBuilder;
import scala.collection.IndexedSeq;

import java.sql.*;
import java.time.Duration;

//import static gatling.test.example.simulation.PerfTestConfig.;
import static io.gatling.javaapi.core.CoreDsl.
;
import static io.gatling.javaapi.http.HttpDsl.http;
import static io.gatling.javaapi.http.HttpDsl.status;

import java.util.*;
import java.util.function.Function;
import java.util.function.Supplier;
import java.util.stream.Stream;

public class DemoSimulation extends Simulation {

HttpProtocolBuilder httpProtocol = http.baseUrl("URL")
        .header("Content-Type", "text/plain")
        .header("Accept-Encoding", "gzip")
        .check(status().is(200));


public List<Map<String, Object>> run() {
    try {
        Class.forName("oracle.jdbc.driver.OracleDriver");
        Connection con = DriverManager.getConnection("JDBCQUERY", "UNAME", "PWD");
        Statement st = con.createStatement();
        ResultSet rs = st.executeQuery("SQL");
        List<Map<String, Object>> list = new ArrayList<>();
        while (rs.next()) {
            ResultSetMetaData mt = rs.getMetaData();
            int count = mt.getColumnCount();
            Map<String, Object> row = new HashMap<>();
            for (int i = 1; i <= count; i++) {
                String cname = mt.getColumnName(i);
                Object cvalue = rs.getObject(i);
                row.put(cname, cvalue);
            }
            list.add(row);
            rs.close();
            con.close();

            return list;
        }

} catch (SQLException | ClassNotFoundException e) {
    e.printStackTrace();

}
return null;
    }
        Iterator<Map<String, Object>> fr = run().iterator();

        ScenarioBuilder scn = scenario("Root end point calls")
                .feed(fr)
                .exec(http("ENDPOINT").post("/").body(StringBody("REQPAYLOAD")));

{ setUp(scn.injectOpen(constantUsersPerSec(4).during(Duration.ofSeconds(1))))
                .protocols(httpProtocol)
                .assertions(global().responseTime().percentile3().lt(15),
                        global().successfulRequests().percent().gt(95.0))
        ;



}


}

You’re mixing Gatling modules with different versions and they are not compatible with each other.

resolved. after checking versions in pom.xml. thanks

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.