private static int NumberOfRecordsToInsertAtATime = 100;
// MOD: List of collected ids
List<Integer> ids = new ArrayList<Integer>();
try
{
// open Transaction here
connMain.setAutoCommit(false);
maindbsql = "SELECT IP_vch FROM MyTable WHERE IPStatus = 1 ";
Map
<String,Connection
> connections
= new HashMap
<>(); DeviceStmt = connRemote.createStatement();
DeviceRS = DeviceStmt.executeQuery(maindbsql);
while(DeviceRS.next()){
final String ip_address
= DeviceRS.
getString("IP_vch"); connections.
put(ip_address,
DriverManager.
getConnection("jdbc:mysql://" + ip_address
+ ":3306/test",RemoteUser,RemotePass
)); }//END Of while(DeviceRS.next())
int count = 0;
for(final String ip
: connections.
keySet()) { count ++;
String QueryString
= " SELECT "
+ " DTSId_int, "
+ " DTS_UUID_vch, "
+ " BatchId_bi, "
+ " DTSStatusType_ti, "
+ " TypeMask_ti, "
+ " TimeZone_ti, "
+ " CurrentRedialCount_ti, "
+ " UserId_int, "
+ " PushLibrary_int, "
+ " PushElement_int, "
+ " PushScript_int, "
+ " PushSkip_int, "
+ " EstimatedCost_int, "
+ " ActualCost_int, "
+ " CampaignTypeId_int, "
+ " GroupId_int, "
+ " Scheduled_dt, "
+ " Queue_dt, "
+ " Queued_DialerIP_vch, "
+ " DialString_vch, "
+ " Sender_vch, "
+ " XMLControlString_vch, "
+ " ContactString_vch, "
+ " LastUpdated_dt, "
+ " ShortCode_vch, "
+ " ProcTime_int "
+ " FROM "
+ " test.selectiontable "
+ " WHERE "
+ " DTSStatusType_ti = 1"
+ " AND DTSId_int MOD " + NumberOfQueueThreads + " = " + CurrModValue
+ " AND Scheduled_dt < NOW() "
+ " AND TypeMask_ti IN (" 1,2,3,5") "
+ " ORDER BY DTSId_int ASC "
+ " LIMIT 1000" ;
SelectQueueStmt
= connRemote.
createStatement(ResultSet.
TYPE_SCROLL_SENSITIVE,
ResultSet.
CONCUR_UPDATABLE); SelectQueueRS = SelectQueueStmt.executeQuery(QueryString);
int CurrentRowCount = 0;
String QueryStringInsertRemote
= "";
while ( SelectQueueRS.next( ) )
{
CurrentRowCount++;
// MOD: collect ids
ids.add(SelectQueueRS.getInt("DTSId_int"));
if(QueryStringInsertRemote.length() > 0)
{
QueryStringInsertRemote = QueryStringInsertRemote + " ,( "
+ " " + SelectQueueRS.getInt("BatchId_bi") + ", "
+ " " + SelectQueueRS.getInt("DTSStatusType_ti") + ", "
+ " " + SelectQueueRS.getInt("TimeZone_ti") + ", "
+ " " + SelectQueueRS.getInt("CurrentRedialCount_ti") + ", "
+ " " + SelectQueueRS.getInt("UserId_int") + ", "
+ " " + SelectQueueRS.getInt("CampaignTypeId_int") + ", "
+ " '" + SelectQueueRS.getString("Scheduled_dt") + "', "
+ " '" + escapeSQL(SelectQueueRS.getString("DialString_vch")) + "', "
+ " 'MyTools', "
+ " '" + escapeSQL(SelectQueueRS.getString("XMLControlString_vch")) + "' "
+ ") ";
}
else
{
// Create first record in Insert statement
QueryStringInsertRemote = " INSERT INTO test.insertiontable"
+ " ( "
+ " `BatchId_bi`, "
+ " `DTSStatusType_ti`, "
+ " `TimeZone_ti`, "
+ " `CurrentRedialCount_ti`, "
+ " `UserId_int`, "
+ " `CampaignTypeId_int`, " + " `Scheduled_dt`, "
+ " `PhoneStr1_vch`, "
+ " `Sender_vch`, "
+ " `XMLControlString_vch` "
+ " ) "
+ " VALUES "
+ " ( "
+ " " + SelectQueueRS.getInt("BatchId_bi") + ", "
+ " " + SelectQueueRS.getInt("DTSStatusType_ti") + ", "
+ " " + SelectQueueRS.getInt("TimeZone_ti") + ", "
+ " " + SelectQueueRS.getInt("CurrentRedialCount_ti") + ", "
+ " " + SelectQueueRS.getInt("UserId_int") + ", "
+ " " + SelectQueueRS.getInt("CampaignTypeId_int") + ", "
+ " '" + SelectQueueRS.getString("Scheduled_dt") + "', "
+ " '" + escapeSQL(SelectQueueRS.getString("DialString_vch")) + "', "
+ " 'MyTools', "
+ " '" + escapeSQL(SelectQueueRS.getString("XMLControlString_vch")) + "' "
+ ") ";
}
// Execute insert every NumberOfRecordsToInsertAtATime values
if( (CurrentRowCount % NumberOfRecordsToInsertAtATime) == 0)
{
InsertRemoteQueueStmt = connRemote.createStatement();
InsertRemoteQueueStmt.executeUpdate(QueryStringInsertRemote);
// reset string to empty
QueryStringInsertRemote = "";
}
}// While SelectQueueRS
if(QueryStringInsertRemote.length() > 0)
{
InsertRemoteQueueStmt = connRemote.createStatement();
InsertRemoteQueueStmt.executeUpdate(QueryStringInsertRemote);
QueryStringInsertRemote = "";
// MOD: delete this
//SelectQueueRS.updateRow( );
}
if(CurrentRowCount == 0)
{
System.
out.
println("No results found this loop");
}
StringBuilder sqlSelect = new StringBuilder(1024);
sqlSelect.append("UPDATE test.selectiontable ");
sqlSelect.append("SET DTSStatusType_ti = 3,");
sqlSelect.append("Queued_DialerIP_vch = ? ");
sqlSelect.append("WHERE DTSId_int IN ( ");
int paramCount = ids.size();
int j = 0;
if(paramCount > 0)
{
for(j=0; j < paramCount; j++ )
{
sqlSelect.append( j > 0 ? ", ?" : "?" );
}// for each param
sqlSelect.append( ")");
// make the prepare statement (pst) with the above sql string
//now set the parameter values in the query
int paramIndex = 1;
pst.setString(paramIndex++, ip);
if( paramCount > 0)
{
for( j = 0; j < paramCount; j++)
{
pst.
setLong(paramIndex
++,
((Integer)ids.
get(j
)).
intValue());
}// for each param
}// if ids list is not empty
pst.executeUpdate();
connRemote.commit();
System.
out.
println("Checking Prepared Statement:"+pst
); System.
out.
println("Remote IP Just Completed is:" +ip
); // connRemote.setAutoCommit(true);
} END OF FOR EACH LOOP
}// ENd Of Try block
cHJpdmF0ZSBzdGF0aWMgaW50IE51bWJlck9mUmVjb3Jkc1RvSW5zZXJ0QXRBVGltZSA9IDEwMDsKCi8vIE1PRDogTGlzdCBvZiBjb2xsZWN0ZWQgaWRzCkxpc3Q8SW50ZWdlcj4gaWRzID0gbmV3IEFycmF5TGlzdDxJbnRlZ2VyPigpOwoKIHRyeSAKICAgewoJIENvbm5lY3Rpb24gY29ublJlbW90ZSA9IERyaXZlck1hbmFnZXIuZ2V0Q29ubmVjdGlvbigiamRiYzpteXNxbDovLzExLjExLjEuMTExOjMzMDYvdGVzdCIsIlVzZXIxIiwicGFzczEiKTsKCSAKCSAvLyAgb3BlbiBUcmFuc2FjdGlvbiBoZXJlCgkgY29ubk1haW4uc2V0QXV0b0NvbW1pdChmYWxzZSk7IAoJIFN0cmluZyBtYWluZGJzcWwgPSBudWxsOwogICAgIG1haW5kYnNxbCA9ICJTRUxFQ1QgSVBfdmNoIEZST00gTXlUYWJsZSBXSEVSRSBJUFN0YXR1cyA9IDEgIjsKCSAKCSAgTWFwPFN0cmluZyxDb25uZWN0aW9uPiBjb25uZWN0aW9ucyA9IG5ldyBIYXNoTWFwPD4oKTsKICAgICAgRGV2aWNlU3RtdCA9IGNvbm5SZW1vdGUuY3JlYXRlU3RhdGVtZW50KCk7CiAgICAgIERldmljZVJTID0gRGV2aWNlU3RtdC5leGVjdXRlUXVlcnkobWFpbmRic3FsKTsKCgkgIAoJICB3aGlsZShEZXZpY2VSUy5uZXh0KCkpewoKCQkgZmluYWwgU3RyaW5nIGlwX2FkZHJlc3MgPSBEZXZpY2VSUy5nZXRTdHJpbmcoIklQX3ZjaCIpOwoJCSBjb25uZWN0aW9ucy5wdXQoaXBfYWRkcmVzcyxEcml2ZXJNYW5hZ2VyLmdldENvbm5lY3Rpb24oImpkYmM6bXlzcWw6Ly8iICsgaXBfYWRkcmVzcyArICI6MzMwNi90ZXN0IixSZW1vdGVVc2VyLFJlbW90ZVBhc3MpKTsKCQkgfS8vRU5EIE9mIHdoaWxlKERldmljZVJTLm5leHQoKSkKCgkgaW50IGNvdW50ID0gMDsKCSBmb3IoZmluYWwgU3RyaW5nIGlwIDogY29ubmVjdGlvbnMua2V5U2V0KCkpCiAgICAgeyAgY291bnQgKys7CgkgICAgZmluYWwgQ29ubmVjdGlvbiBjb25uID0gY29ubmVjdGlvbnMuZ2V0KGlwKTsKCQogCglTdHJpbmcgUXVlcnlTdHJpbmcgPSAiIFNFTEVDVCAiIAogCgkJCQkJCQkJICsgIiBEVFNJZF9pbnQsICIKCQkJCQkJCQkgKyAiIERUU19VVUlEX3ZjaCwgIgoJCQkJCQkJCSArICIgQmF0Y2hJZF9iaSwgIgoJCQkJCQkJCSArICIgRFRTU3RhdHVzVHlwZV90aSwgIgoJCQkJCQkJCSArICIgVHlwZU1hc2tfdGksICIKCQkJCQkJCQkgKyAiIFRpbWVab25lX3RpLCAiCgkJCQkJCQkJICsgIiBDdXJyZW50UmVkaWFsQ291bnRfdGksICIKCQkJCQkJCQkgKyAiIFVzZXJJZF9pbnQsICIKCQkJCQkJCQkgKyAiIFB1c2hMaWJyYXJ5X2ludCwgIgoJCQkJCQkJCSArICIgUHVzaEVsZW1lbnRfaW50LCAiCgkJCQkJCQkJICsgIiBQdXNoU2NyaXB0X2ludCwgIgoJCQkJCQkJCSArICIgUHVzaFNraXBfaW50LCAiCgkJCQkJCQkJICsgIiBFc3RpbWF0ZWRDb3N0X2ludCwgIgoJCQkJCQkJCSArICIgQWN0dWFsQ29zdF9pbnQsICIKCQkJCQkJCQkgKyAiIENhbXBhaWduVHlwZUlkX2ludCwgIgoJCQkJCQkJCSArICIgR3JvdXBJZF9pbnQsICIKCQkJCQkJCQkgKyAiIFNjaGVkdWxlZF9kdCwgIgoJCQkJCQkJCSArICIgUXVldWVfZHQsICIKCQkJCQkJCQkgKyAiIFF1ZXVlZF9EaWFsZXJJUF92Y2gsICIKCQkJCQkJCQkgKyAiIERpYWxTdHJpbmdfdmNoLCAiCgkJCQkJCQkJICsgIiBTZW5kZXJfdmNoLCAiCgkJCQkJCQkJICsgIiBYTUxDb250cm9sU3RyaW5nX3ZjaCwgIgoJCQkJCQkJCSArICIgQ29udGFjdFN0cmluZ192Y2gsICIKCQkJCQkJCQkgKyAiIExhc3RVcGRhdGVkX2R0LCAiCgkJCQkJCQkJICsgIiBTaG9ydENvZGVfdmNoLCAiCgkJCQkJCQkJICsgIiBQcm9jVGltZV9pbnQgIgoJCQkJCQkJCSArICIgRlJPTSAiIAoJCQkJCQkJCSArICIgdGVzdC5zZWxlY3Rpb250YWJsZSAiCgkJCQkJCQkJICsgIiBXSEVSRSAiCgkJCQkJCQkJICsgIiBEVFNTdGF0dXNUeXBlX3RpID0gMSIgCgkJCQkJCQkJICsgIiBBTkQgRFRTSWRfaW50IE1PRCAiICsgTnVtYmVyT2ZRdWV1ZVRocmVhZHMgKyAiID0gIiArIEN1cnJNb2RWYWx1ZSAKCQkJCQkJCQkgKyAiIEFORCBTY2hlZHVsZWRfZHQgPCBOT1coKSAiCgkJCQkJCQkJICsgIiBBTkQgVHlwZU1hc2tfdGkgSU4gKCIgMSwyLDMsNSIpICIKCQkJCQkJCQkgKyAiIE9SREVSIEJZIERUU0lkX2ludCBBU0MgIgoJCQkJCQkJCSArICIgTElNSVQgMTAwMCIgOwoKCiAgIAogICBTZWxlY3RRdWV1ZVN0bXQgPSBjb25uUmVtb3RlLmNyZWF0ZVN0YXRlbWVudChSZXN1bHRTZXQuVFlQRV9TQ1JPTExfU0VOU0lUSVZFLCBSZXN1bHRTZXQuQ09OQ1VSX1VQREFUQUJMRSk7CiAgIFNlbGVjdFF1ZXVlUlMgPSBTZWxlY3RRdWV1ZVN0bXQuZXhlY3V0ZVF1ZXJ5KFF1ZXJ5U3RyaW5nKTsKCgoKICAgaW50IEN1cnJlbnRSb3dDb3VudCA9IDA7CiAKICAgU3RyaW5nIFF1ZXJ5U3RyaW5nSW5zZXJ0UmVtb3RlID0gIiI7CiAKIAogICB3aGlsZSAoIFNlbGVjdFF1ZXVlUlMubmV4dCggKSApIAogICB7CiAgICBDdXJyZW50Um93Q291bnQrKzsKICAgIAogICAgLy8gTU9EOiBjb2xsZWN0IGlkcwogICAgaWRzLmFkZChTZWxlY3RRdWV1ZVJTLmdldEludCgiRFRTSWRfaW50IikpOwogCiAKICAgICBpZihRdWVyeVN0cmluZ0luc2VydFJlbW90ZS5sZW5ndGgoKSA+IDApCiAgICAgewogCiAgICAgIFF1ZXJ5U3RyaW5nSW5zZXJ0UmVtb3RlID0gUXVlcnlTdHJpbmdJbnNlcnRSZW1vdGUgKyAiICwoICIKCQkJCQkJCQkgKyAiICIgKyBTZWxlY3RRdWV1ZVJTLmdldEludCgiQmF0Y2hJZF9iaSIpICsgIiwgIiAKCQkJCQkJCQkgKyAiICIgKyBTZWxlY3RRdWV1ZVJTLmdldEludCgiRFRTU3RhdHVzVHlwZV90aSIpICsgIiwgIiAKCQkJCQkJCQkgKyAiICIgKyBTZWxlY3RRdWV1ZVJTLmdldEludCgiVGltZVpvbmVfdGkiKSArICIsICIgCgkJCQkJCQkJICsgIiAiICsgU2VsZWN0UXVldWVSUy5nZXRJbnQoIkN1cnJlbnRSZWRpYWxDb3VudF90aSIpICsgIiwgIiAKCQkJCQkJCQkgKyAiICIgKyBTZWxlY3RRdWV1ZVJTLmdldEludCgiVXNlcklkX2ludCIpICsgIiwgIiAKCQkJCQkJCQkgKyAiICIgKyBTZWxlY3RRdWV1ZVJTLmdldEludCgiQ2FtcGFpZ25UeXBlSWRfaW50IikgKyAiLCAiIAoJCQkJCQkJCSArICIgJyIgKyBTZWxlY3RRdWV1ZVJTLmdldFN0cmluZygiU2NoZWR1bGVkX2R0IikgKyAiJywgIiAKCQkJCQkJCQkgKyAiICciICsgZXNjYXBlU1FMKFNlbGVjdFF1ZXVlUlMuZ2V0U3RyaW5nKCJEaWFsU3RyaW5nX3ZjaCIpKSArICInLCAiIAoJCQkJCQkJCSArICIgJ015VG9vbHMnLCAiIAoJCQkJCQkJCSArICIgJyIgKyBlc2NhcGVTUUwoU2VsZWN0UXVldWVSUy5nZXRTdHJpbmcoIlhNTENvbnRyb2xTdHJpbmdfdmNoIikpICsgIicgIiAKCQkJCQkJCQkgKyAiKSAiOwogICB9CiAgIGVsc2UKICAgewogICAgIC8vIENyZWF0ZSBmaXJzdCByZWNvcmQgaW4gSW5zZXJ0IHN0YXRlbWVudCAKCVF1ZXJ5U3RyaW5nSW5zZXJ0UmVtb3RlID0gIiBJTlNFUlQgSU5UTyB0ZXN0Lmluc2VydGlvbnRhYmxlIiAKCQkJCQkJCSArICIgKCAiCgkJCQkJCQkgKyAiIGBCYXRjaElkX2JpYCwgIgoJCQkJCQkJICsgIiBgRFRTU3RhdHVzVHlwZV90aWAsICIgCgkJCQkJCQkgKyAiIGBUaW1lWm9uZV90aWAsICIKCQkJCQkJCSArICIgYEN1cnJlbnRSZWRpYWxDb3VudF90aWAsICIKCQkJCQkJCSArICIgYFVzZXJJZF9pbnRgLCAiIAoJCQkJCQkJICsgIiBgQ2FtcGFpZ25UeXBlSWRfaW50YCwgIiArICIgYFNjaGVkdWxlZF9kdGAsICIKCQkJCQkJCSArICIgYFBob25lU3RyMV92Y2hgLCAiIAoJCQkJCQkJICsgIiBgU2VuZGVyX3ZjaGAsICIKCQkJCQkJCSArICIgYFhNTENvbnRyb2xTdHJpbmdfdmNoYCAiCgkJCQkJCQkgKyAiICkgIiAKCQkJCQkJCSArICIgVkFMVUVTICIKCQkJCQkJCSArICIgKCAiCgkJCQkJCQkgKyAiICIgKyBTZWxlY3RRdWV1ZVJTLmdldEludCgiQmF0Y2hJZF9iaSIpICsgIiwgIiAKCQkJCQkJCSArICIgIiArIFNlbGVjdFF1ZXVlUlMuZ2V0SW50KCJEVFNTdGF0dXNUeXBlX3RpIikgKyAiLCAiIAoJCQkJCQkJICsgIiAiICsgU2VsZWN0UXVldWVSUy5nZXRJbnQoIlRpbWVab25lX3RpIikgKyAiLCAiIAoJCQkJCQkJICsgIiAiICsgU2VsZWN0UXVldWVSUy5nZXRJbnQoIkN1cnJlbnRSZWRpYWxDb3VudF90aSIpICsgIiwgIiAKCQkJCQkJCSArICIgIiArIFNlbGVjdFF1ZXVlUlMuZ2V0SW50KCJVc2VySWRfaW50IikgKyAiLCAiIAoJCQkJCQkJICsgIiAiICsgU2VsZWN0UXVldWVSUy5nZXRJbnQoIkNhbXBhaWduVHlwZUlkX2ludCIpICsgIiwgIiAKCQkJCQkJCSArICIgJyIgKyBTZWxlY3RRdWV1ZVJTLmdldFN0cmluZygiU2NoZWR1bGVkX2R0IikgKyAiJywgIiAKCQkJCQkJCSArICIgJyIgKyBlc2NhcGVTUUwoU2VsZWN0UXVldWVSUy5nZXRTdHJpbmcoIkRpYWxTdHJpbmdfdmNoIikpICsgIicsICIgCgkJCQkJCQkgKyAiICdNeVRvb2xzJywgIgoJCQkJCQkJICsgIiAnIiArIGVzY2FwZVNRTChTZWxlY3RRdWV1ZVJTLmdldFN0cmluZygiWE1MQ29udHJvbFN0cmluZ192Y2giKSkgKyAiJyAiCgkJCQkJCQkgKyAiKSAiOwogCiAKIAogCiAgIH0KICAgICAKIAoJLy8gRXhlY3V0ZSBpbnNlcnQgZXZlcnkgTnVtYmVyT2ZSZWNvcmRzVG9JbnNlcnRBdEFUaW1lIHZhbHVlcyAKICAgaWYoIChDdXJyZW50Um93Q291bnQgJSBOdW1iZXJPZlJlY29yZHNUb0luc2VydEF0QVRpbWUpID09IDApCiAgIHsKCSBJbnNlcnRSZW1vdGVRdWV1ZVN0bXQgPSBjb25uUmVtb3RlLmNyZWF0ZVN0YXRlbWVudCgpOwoJIEluc2VydFJlbW90ZVF1ZXVlU3RtdC5leGVjdXRlVXBkYXRlKFF1ZXJ5U3RyaW5nSW5zZXJ0UmVtb3RlKTsKCQoJLy8gcmVzZXQgc3RyaW5nIHRvIGVtcHR5CgkgUXVlcnlTdHJpbmdJbnNlcnRSZW1vdGUgPSAiIjsKCgkgCgoJfQoJIAoKICAgfS8vIFdoaWxlIFNlbGVjdFF1ZXVlUlMKCgoJaWYoUXVlcnlTdHJpbmdJbnNlcnRSZW1vdGUubGVuZ3RoKCkgPiAwKQoJIHsKCSBJbnNlcnRSZW1vdGVRdWV1ZVN0bXQgPSBjb25uUmVtb3RlLmNyZWF0ZVN0YXRlbWVudCgpOwoJIEluc2VydFJlbW90ZVF1ZXVlU3RtdC5leGVjdXRlVXBkYXRlKFF1ZXJ5U3RyaW5nSW5zZXJ0UmVtb3RlKTsgCgkgCgkgUXVlcnlTdHJpbmdJbnNlcnRSZW1vdGUgPSAiIjsKCSAKCSAvLyBNT0Q6IGRlbGV0ZSB0aGlzCgkgLy9TZWxlY3RRdWV1ZVJTLnVwZGF0ZVJvdyggKTsKCSB9CiAKIAoKCSBpZihDdXJyZW50Um93Q291bnQgPT0gMCkKCSB7CgkgCgkJU3lzdGVtLm91dC5wcmludGxuKCJObyByZXN1bHRzIGZvdW5kIHRoaXMgbG9vcCIpOwoJIAoJCQogCiAKICAgIH0KICAgIAoJCVN0cmluZ0J1aWxkZXIgc3FsU2VsZWN0ID0gbmV3IFN0cmluZ0J1aWxkZXIoMTAyNCk7CgkJc3FsU2VsZWN0LmFwcGVuZCgiVVBEQVRFIHRlc3Quc2VsZWN0aW9udGFibGUgIik7CgkJc3FsU2VsZWN0LmFwcGVuZCgiU0VUIERUU1N0YXR1c1R5cGVfdGkgPSAzLCIpOwoJCXNxbFNlbGVjdC5hcHBlbmQoIlF1ZXVlZF9EaWFsZXJJUF92Y2ggPSA/ICIpOwoJCXNxbFNlbGVjdC5hcHBlbmQoIldIRVJFIERUU0lkX2ludCBJTiAoICIpOwoJCWludCBwYXJhbUNvdW50ID0gaWRzLnNpemUoKTsKCSAKCQkgaW50IGogPSAwOwoJIAoJCSBpZihwYXJhbUNvdW50ID4gMCkKCQkgewoJCQkgZm9yKGo9MDsgaiA8IHBhcmFtQ291bnQ7IGorKyApCgkJCSB7CgkJCSBzcWxTZWxlY3QuYXBwZW5kKCBqID4gMCA/ICIsID8iIDogIj8iICk7CgkJCSAKCQkJIH0vLyBmb3IgZWFjaCBwYXJhbQoJCQkgc3FsU2VsZWN0LmFwcGVuZCggIikiKTsKCSAKCSAKCQkJIC8vIG1ha2UgdGhlIHByZXBhcmUgc3RhdGVtZW50IChwc3QpIHdpdGggdGhlIGFib3ZlIHNxbCBzdHJpbmcKCQkJIFByZXBhcmVkU3RhdGVtZW50IHBzdCA9IGNvbm5SZW1vdGUucHJlcGFyZVN0YXRlbWVudCggc3FsU2VsZWN0LnRvU3RyaW5nKCkgKTsKCSAKCQkJIC8vbm93IHNldCB0aGUgcGFyYW1ldGVyIHZhbHVlcyBpbiB0aGUgcXVlcnkKCQkJIGludCBwYXJhbUluZGV4ID0gMTsKCSAKCQkJcHN0LnNldFN0cmluZyhwYXJhbUluZGV4KyssIGlwKTsKCSAKCQkJIGlmKCBwYXJhbUNvdW50ID4gMCkKCQkJIHsKCQkJIGZvciggaiA9IDA7IGogPCBwYXJhbUNvdW50OyBqKyspCgkJCSB7CgkJCSBwc3Quc2V0TG9uZyhwYXJhbUluZGV4KyssKChJbnRlZ2VyKWlkcy5nZXQoaikpLmludFZhbHVlKCkpOwoJIAoJCQkJfS8vIGZvciBlYWNoIHBhcmFtCgkgCgkJfS8vIGlmIGlkcyBsaXN0IGlzIG5vdCBlbXB0eQoJIAoJCSBwc3QuZXhlY3V0ZVVwZGF0ZSgpOyAKCQkgY29ublJlbW90ZS5jb21taXQoKTsKCQkgU3lzdGVtLm91dC5wcmludGxuKCJDaGVja2luZyBQcmVwYXJlZCBTdGF0ZW1lbnQ6Iitwc3QpOwoJCSBTeXN0ZW0ub3V0LnByaW50bG4oIlJlbW90ZSBJUCBKdXN0IENvbXBsZXRlZCBpczoiICtpcCk7CgkJIC8vIGNvbm5SZW1vdGUuc2V0QXV0b0NvbW1pdCh0cnVlKTsKCSAKCSB9IEVORCBPRiBGT1IgRUFDSCBMT09QCn0vLyBFTmQgT2YgVHJ5IGJsb2NrCg==
Main.java:1: error: class, interface, or enum expected
private static int NumberOfRecordsToInsertAtATime = 100;
^
Main.java:4: error: class, interface, or enum expected
List<Integer> ids = new ArrayList<Integer>();
^
Main.java:6: error: class, interface, or enum expected
try
^
Main.java:11: error: class, interface, or enum expected
connMain.setAutoCommit(false);
^
Main.java:12: error: class, interface, or enum expected
String maindbsql = null;
^
Main.java:13: error: class, interface, or enum expected
maindbsql = "SELECT IP_vch FROM MyTable WHERE IPStatus = 1 ";
^
Main.java:15: error: class, interface, or enum expected
Map<String,Connection> connections = new HashMap<>();
^
Main.java:16: error: class, interface, or enum expected
DeviceStmt = connRemote.createStatement();
^
Main.java:17: error: class, interface, or enum expected
DeviceRS = DeviceStmt.executeQuery(maindbsql);
^
Main.java:20: error: class, interface, or enum expected
while(DeviceRS.next()){
^
Main.java:22: error: class, interface, or enum expected
final String ip_address = DeviceRS.getString("IP_vch");
^
Main.java:23: error: class, interface, or enum expected
connections.put(ip_address,DriverManager.getConnection("jdbc:mysql://" + ip_address + ":3306/test",RemoteUser,RemotePass));
^
Main.java:24: error: class, interface, or enum expected
}//END Of while(DeviceRS.next())
^
Main.java:27: error: class, interface, or enum expected
for(final String ip : connections.keySet())
^
Main.java:27: error: class, interface, or enum expected
for(final String ip : connections.keySet())
^
Main.java:29: error: class, interface, or enum expected
final Connection conn = connections.get(ip);
^
Main.java:32: error: class, interface, or enum expected
String QueryString = " SELECT "
^
Main.java:72: error: class, interface, or enum expected
SelectQueueStmt = connRemote.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
^
Main.java:73: error: class, interface, or enum expected
SelectQueueRS = SelectQueueStmt.executeQuery(QueryString);
^
Main.java:77: error: class, interface, or enum expected
int CurrentRowCount = 0;
^
Main.java:79: error: class, interface, or enum expected
String QueryStringInsertRemote = "";
^
Main.java:82: error: class, interface, or enum expected
while ( SelectQueueRS.next( ) )
^
Main.java:87: error: class, interface, or enum expected
ids.add(SelectQueueRS.getInt("DTSId_int"));
^
Main.java:90: error: class, interface, or enum expected
if(QueryStringInsertRemote.length() > 0)
^
Main.java:105: error: class, interface, or enum expected
}
^
Main.java:138: error: class, interface, or enum expected
}
^
Main.java:145: error: class, interface, or enum expected
InsertRemoteQueueStmt.executeUpdate(QueryStringInsertRemote);
^
Main.java:148: error: class, interface, or enum expected
QueryStringInsertRemote = "";
^
Main.java:152: error: class, interface, or enum expected
}
^
Main.java:161: error: class, interface, or enum expected
InsertRemoteQueueStmt.executeUpdate(QueryStringInsertRemote);
^
Main.java:163: error: class, interface, or enum expected
QueryStringInsertRemote = "";
^
Main.java:167: error: class, interface, or enum expected
}
^
Main.java:179: error: class, interface, or enum expected
}
^
Main.java:182: error: class, interface, or enum expected
sqlSelect.append("UPDATE test.selectiontable ");
^
Main.java:183: error: class, interface, or enum expected
sqlSelect.append("SET DTSStatusType_ti = 3,");
^
Main.java:184: error: class, interface, or enum expected
sqlSelect.append("Queued_DialerIP_vch = ? ");
^
Main.java:185: error: class, interface, or enum expected
sqlSelect.append("WHERE DTSId_int IN ( ");
^
Main.java:186: error: class, interface, or enum expected
int paramCount = ids.size();
^
Main.java:188: error: class, interface, or enum expected
int j = 0;
^
Main.java:190: error: class, interface, or enum expected
if(paramCount > 0)
^
Main.java:192: error: class, interface, or enum expected
for(j=0; j < paramCount; j++ )
^
Main.java:192: error: class, interface, or enum expected
for(j=0; j < paramCount; j++ )
^
Main.java:196: error: class, interface, or enum expected
}// for each param
^
Main.java:201: error: class, interface, or enum expected
PreparedStatement pst = connRemote.prepareStatement( sqlSelect.toString() );
^
Main.java:204: error: class, interface, or enum expected
int paramIndex = 1;
^
Main.java:206: error: class, interface, or enum expected
pst.setString(paramIndex++, ip);
^
Main.java:208: error: class, interface, or enum expected
if( paramCount > 0)
^
Main.java:210: error: class, interface, or enum expected
for( j = 0; j < paramCount; j++)
^
Main.java:210: error: class, interface, or enum expected
for( j = 0; j < paramCount; j++)
^
Main.java:214: error: class, interface, or enum expected
}// for each param
^
Main.java:219: error: class, interface, or enum expected
connRemote.commit();
^
Main.java:220: error: class, interface, or enum expected
System.out.println("Checking Prepared Statement:"+pst);
^
Main.java:221: error: class, interface, or enum expected
System.out.println("Remote IP Just Completed is:" +ip);
^
Main.java:224: error: class, interface, or enum expected
} END OF FOR EACH LOOP
^
54 errors