我在這裏已經一個代碼。我的代碼用於獲取表中的每一行的內容(int),並不斷髮送給ActiveMQ。當表更新時,新行的內容將被髮送到ActiveMQ。從MySQL的表中獲取內容不斷
但是,當我停止進程並重新運行,它會發送所有內容,從行0 - 所有的ActiveMQ的。我希望我可以把它只是不斷髮出,它不是之前發送並正常工作作爲再次照常內容...
我想我必須創建一個新的數據庫表,以節省每一個最後的限制(行計數號)在循環中,所以我可以在進程停止時再次使用它。任何幫助?
else if(vardbtype.equals("MYSQL")){
Class.forName("com.mysql.jdbc.Driver");
System.out.println("----------------------------");
int limitrowmysql = 0;
Connection c = DriverManager.getConnection("jdbc:mysql://localhost:3306/"+ vardbserver, vardbuser, vardbpassword);
while(true) {
Statement stmts = c.createStatement();
int countrowmysql = 0;
String sql = ("SELECT * FROM "+ vardbname +" LIMIT "+ limitrowmysql +", 18446744073709551615");
ResultSet rss = stmts.executeQuery(sql);
while(rss.next()) {
String message = rss.getString("MESSAGE");
System.out.println("Message = " + message);
TextMessage mssg = session.createTextMessage(message);
System.out.println("Sent: " + mssg.getText());
producer.send(mssg);
countrowmysql = countrowmysql + 1;
}
rss.close();
stmts.close();
limitrowmysql = limitrowmysql + countrowmysql;
Thread.sleep(batchperiod2);
}
}
噢好吧,我會找的!謝謝btw! – NWD