import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Host;
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Session;
import com.google.common.util.concurrent.Uninterruptibles;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class JAVA_577 {
public static void main (String args []){
Cluster cluster = Cluster.builder().addContactPoint("130.211.158.230").build();
cluster.getConfiguration().getSocketOptions().setConnectTimeoutMillis(5);
cluster.getConfiguration().getSocketOptions().setReadTimeoutMillis(20);
final Session session = cluster.connect("java577");
ScheduledExecutorService executorService = Executors.newScheduledThreadPool(100);
for (int i=0; i<100; ++i) {
executorService.execute(new Runnable() {
int count = 0;
@Override
public void run() {
while (true) {
try
{ ResultSet rs = session.execute("select * from testks.record4 limit 1000;"); Host queriedHost = rs.getExecutionInfo().getQueriedHost();
System.out.println("Invoking " + Thread.currentThread().getName() + " : " + count++ + " against the host " + queriedHost);
}
catch (Exception e) {
String message = e.getMessage();
if (!message.contains("timeout during read query"))
{ System.out.println("Exception " + e.getMessage()); }
}
Uninterruptibles.sleepUninterruptibly(1, TimeUnit.SECONDS);
}
}
});
}
Uninterruptibles.sleepUninterruptibly(100, TimeUnit.HOURS);
}
}