private static int counter = 0;
/** The edition for the update check URL. */
- private static final int UPDATE_EDITION = 17;
+ private static final int UPDATE_EDITION = 18;
/** The URL for update checks. */
private static final String UPDATE_KEY = "USK@e3myoFyp5avg6WYN16ImHri6J7Nj8980Fm~aQe4EX1U,QvbWT0ImE0TwLODTl7EoJx2NBnwDxTbLTE6zkB-eGPs,AQACAAE";
* The edition number
* @return The URI for the update file for the given edition
*/
- private String constructUpdateKey(int edition) {
+ private static String constructUpdateKey(int edition) {
return UPDATE_KEY + "/jSite/" + edition + "/jSite.properties";
}
/**
* {@inheritDoc}
*/
+ @Override
public void run() {
- Connection connection = freenetInterface.getConnection("jSite-" + ++counter + "-UpdateChecker");
- try {
- connection.connect();
- } catch (IOException e1) {
- e1.printStackTrace();
- }
- Client client = new Client(connection);
- boolean checkNow = false;
int currentEdition = lastUpdateEdition;
while (!shouldStop()) {
- checkNow = false;
+
+ /* try to connect. */
+ Client client;
+ while (true) {
+ Connection connection = freenetInterface.getConnection("jSite-" + ++counter + "-UpdateChecker");
+ try {
+ connection.connect();
+ logger.log(Level.INFO, "Connected to " + freenetInterface.getNode() + ".");
+ client = new Client(connection);
+ break;
+ } catch (IOException ioe1) {
+ logger.log(Level.INFO, "Could not connect to " + freenetInterface.getNode() + ".", ioe1);
+ }
+ if (!connection.isConnected()) {
+ try {
+ Thread.sleep(60 * 1000);
+ } catch (InterruptedException ie1) {
+ /* ignore, we’re looping. */
+ }
+ }
+ }
+
+ boolean checkNow = false;
logger.log(Level.FINE, "Trying " + constructUpdateKey(currentEdition));
ClientGet clientGet = new ClientGet("get-update-key");
clientGet.setUri(constructUpdateKey(currentEdition));