Return-Path: Delivered-To: apmail-jakarta-avalon-dev-archive@apache.org Received: (qmail 8624 invoked from network); 25 Mar 2002 03:47:18 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 25 Mar 2002 03:47:18 -0000 Received: (qmail 14999 invoked by uid 97); 25 Mar 2002 03:47:25 -0000 Delivered-To: qmlist-jakarta-archive-avalon-dev@jakarta.apache.org Received: (qmail 14972 invoked by uid 97); 25 Mar 2002 03:47:25 -0000 Mailing-List: contact avalon-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Avalon Developers List" Reply-To: "Avalon Developers List" Delivered-To: mailing list avalon-dev@jakarta.apache.org Received: (qmail 14961 invoked from network); 25 Mar 2002 03:47:24 -0000 From: Subject: Logkit: RevolvingFileStrategy - suggested changes. To: "'Avalon Developers List'" X-Mailer: Lotus Notes Release 5.0.5 September 22, 2000 Message-ID: Date: Mon, 25 Mar 2002 14:44:59 +1100 X-MIMETrack: Serialize by Router on HIC-CO-SMTP-1/SRV/HIC(Release 5.0.9 |November 16, 2001) at 25/03/2002 14:45:02 MIME-Version: 1.0 Content-type: multipart/mixed ; Boundary="0__=45BBE114DF81B02D8f9e8a93df938690918c45BBE114DF81B02D" Content-Disposition: inline X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N --0__=45BBE114DF81B02D8f9e8a93df938690918c45BBE114DF81B02D Content-type: text/plain; charset=us-ascii May have to rethink somewhat this code as I forgot to take account of what happens when only some of the rotations are present eg there are 10 rotations specified but the system has only written a lessor number out. Discovered when I tried the change under AIX. Here is a revised version which seems to show the right behaviour (at least on the Unix system at work). I will observe the behaviour over the next few days to check that it really does roll over correctly. (See attached file: RevolvingFileStrategy.java) ---------------------- Forwarded by David Gray/CO/HIC on 25/03/2002 14:18 --------------------------- David Gray 25/03/2002 09:16 To: "'Avalon Developers List'" cc: Subject: Logkit: RevolvingFileStrategy - suggested changes. I got sick-and-tired of having this class restart the current revolving suffix every time I restarted the program so I whiped up some code to implement one of the TODOs - namely scanning the file system looking for the oldest file number. (Actual took about 5 hours so "whiped" is not the correct word). I have tested this against my NT 2000 machine at home but not against a Unix/Aix/Linux box although the code should be portable ;->. Would appreciate someone looking at this (are you there Pete) and seeing whether it is good enough to get included into Logkit's next release. There are some tricks, it needs to treat filenames without paths a little differently to those with paths. And I did not assume the files came back in any particular order. In the meantime I intend to use it in my project as an industrial strength test. **************************************************************** NOTICE - This message is intended only for the use of the addressee named above and may contain privileged and confidential information. If you are not the intended recipient of this message you are hereby notified that you must not disseminate, copy or take any action based upon it. If you received this message in error please notify HIC immediately. Any views expressed in this message are those of the individual sender, except where the sender specifically states them to be the views of HIC. **************************************************************** --0__=45BBE114DF81B02D8f9e8a93df938690918c45BBE114DF81B02D Content-type: application/octet-stream; name="RevolvingFileStrategy.java" Content-Disposition: attachment; filename="RevolvingFileStrategy.java" Content-transfer-encoding: base64 cGFja2FnZSBvcmcuYXBhY2hlLmxvZy5vdXRwdXQuaW8ucm90YXRlOw0KDQppbXBvcnQgamF2YS5p by5GaWxlOw0KaW1wb3J0IGphdmEudGV4dC5EZWNpbWFsRm9ybWF0Ow0KaW1wb3J0IGphdmEudGV4 dC5GaWVsZFBvc2l0aW9uOw0KaW1wb3J0IGphdmEudGV4dC5OdW1iZXJGb3JtYXQ7DQppbXBvcnQg amF2YS5pby5GaWxlbmFtZUZpbHRlcjsNCg0KLyoqDQogKiBzdHJhdGVneSBmb3IgbmFtaW5nIGxv ZyBmaWxlcyBiYXNlZCBvbiBhcHBlbmRpbmcgcmV2b2x2aW5nIHN1ZmZpeC4NCiAqDQogKiBAYXV0 aG9yIDxhIGhyZWY9Im1haWx0bzpiaDIyMzUxQGktb25lLmF0Ij5CZXJuaGFyZCBIdWJlcjwvYT4N CiAqLw0KcHVibGljIGNsYXNzIFJldm9sdmluZ0ZpbGVTdHJhdGVneQ0KICAgIGltcGxlbWVudHMg RmlsZVN0cmF0ZWd5DQp7DQogICAgLy8vcmV2b2x2aW5nIHN1ZmZpeCBmb3JtYXR0aW5nIHBhdHRl cm4uIGllLiAiJy4nMDAwMDAwIg0KICAgIHByaXZhdGUgZmluYWwgc3RhdGljIFN0cmluZyAgICAg IFBBVFRFUk4gPSAiJy4nMDAwMDAwIjsNCg0KICAgIC8vL2EgcmV2b2x2aW5nIHN1ZmZpeCBmb3Jt YXR0ZXINCiAgICBwcml2YXRlIERlY2ltYWxGb3JtYXQgIG1fZGVjaW1hbEZvcm1hdDsNCg0KICAg IC8vL2N1cnJlbnQgcmV2b2x2aW5nIHN1ZmZpeA0KICAgIHByaXZhdGUgaW50ICAgICAgICAgICAg bV9yb3RhdGlvbjsNCg0KICAgIC8vL21heCByZXZvbHZpbmcgdmFsdWUuIA0KICAgIHByaXZhdGUg aW50ICAgICAgICAgICAgbV9tYXhSb3RhdGlvbnM7DQoNCiAgICAvLy90aGUgYmFzZSBmaWxlIG5h bWUuDQogICAgcHJpdmF0ZSBGaWxlICAgIG1fYmFzZUZpbGU7DQoNCglwcml2YXRlIFN0cmluZyBt X2Jhc2VGaWxlTmFtZTsNCgkNCglwcml2YXRlIGNsYXNzIEJhc2VGaWxlTmFtZUZpbHRlciBpbXBs ZW1lbnRzIEZpbGVuYW1lRmlsdGVyIHsNCglwdWJsaWMgYm9vbGVhbiBhY2NlcHQoRmlsZSBmaWxl LCBTdHJpbmcgbmFtZSkgew0KCQlyZXR1cm4gKG5hbWUuc3RhcnRzV2l0aChtX2Jhc2VGaWxlTmFt ZSkpOw0KCX0JICAgDQp9DQogICAgcHVibGljIFJldm9sdmluZ0ZpbGVTdHJhdGVneSggZmluYWwg RmlsZSBiYXNlRmlsZSwgZmluYWwgaW50IG1heFJvdGF0aW9ucyApDQogICAgew0KICAgICAgICB0 aGlzKCBiYXNlRmlsZSwgLTEsIG1heFJvdGF0aW9ucyApOw0KICAgIH0NCnB1YmxpYyBSZXZvbHZp bmdGaWxlU3RyYXRlZ3koZmluYWwgRmlsZSBiYXNlRmlsZSwgZmluYWwgaW50IGluaXRpYWxSb3Rh dGlvbiwgZmluYWwgaW50IG1heFJvdGF0aW9ucykgew0KICAgbV9kZWNpbWFsRm9ybWF0ID0gbmV3 IERlY2ltYWxGb3JtYXQoUEFUVEVSTik7DQoNCiAgIG1fYmFzZUZpbGUgPSBiYXNlRmlsZTsNCiAg IG1fcm90YXRpb24gPSBpbml0aWFsUm90YXRpb247DQogICBtX21heFJvdGF0aW9ucyA9IG1heFJv dGF0aW9uczsNCg0KICAgaWYgKC0xID09IG1fbWF4Um90YXRpb25zKSB7DQogICAgICBtX21heFJv dGF0aW9ucyA9IEludGVnZXIuTUFYX1ZBTFVFOw0KICAgfQ0KDQogICBpZiAoLTEgPT0gaW5pdGlh bFJvdGF0aW9uKSB7DQoNCiAgICAgIC8vIEZpcnN0IGdldCB0aGUgcGF0aCBvZiB0aGUgYmFzZSBm aWxlLiBOb3RlIHRoYXQgdGhpcyBwYXRoIGluY2x1ZGVzDQogICAgICAvLyB0aGUgcGF0aCBhbmQg dGhlIGJhc2Ugb2YgdGhlIGZpbGUgbmFtZSBpdHNlbGYuDQogICAgICBTdHJpbmcgZnVsbEZpbGVQ YXRoTmFtZSA9IG1fYmFzZUZpbGUuZ2V0UGF0aCgpOw0KICAgICAgU3RyaW5nIHBhdGhTZXBhcmF0 b3IgPSBTeXN0ZW0uZ2V0UHJvcGVydHkoImZpbGUuc2VwYXJhdG9yIik7DQogICAgICAvLyBUcnkg dG8gZmluZCB0aGUgbGFzdCBwYXRoIHNlcGFyYXRvciAoaWYgaXQgZXhpc3RzKQ0KICAgICAgaW50 IGZpbGVTZXBhcmF0b3JQb3NpdGlvbiA9IGZ1bGxGaWxlUGF0aE5hbWUubGFzdEluZGV4T2YocGF0 aFNlcGFyYXRvcik7DQogICAgICBGaWxlIG1fYmFzZVBhdGg7DQoNCiAgICAgIC8vIElmIHRoZSBs YXN0IHBhdGggc2VwYXJhdG9yIGRvZXMgbm90IGV4aXN0IHRoZSBiYXNlRmlsZSBpcyBhIHB1cmUg ZmlsZSBuYW1lDQogICAgICBpZiAoZmlsZVNlcGFyYXRvclBvc2l0aW9uIDwgMCkgew0KICAgICAg ICAgLy8gYXNzdW1lIHRoZSBjdXJyZW50IGRpcmVjdG9yeQkNCiAgICAgICAgIG1fYmFzZVBhdGgg PSBuZXcgRmlsZSgiLiIpOw0KICAgICAgICAgbV9iYXNlRmlsZU5hbWUgPSBmdWxsRmlsZVBhdGhO YW1lOw0KICAgICAgfQ0KICAgICAgZWxzZSB7DQogICAgICAgICAvLyBFeHRyYWN0IHRoZSBzdWIt ZGlyZWN0b3J5IHN0cnVjdHVyZQ0KICAgICAgICAgU3RyaW5nIG1fcGFyZW50UGF0aCA9IGZ1bGxG aWxlUGF0aE5hbWUuc3Vic3RyaW5nKDAsIGZpbGVTZXBhcmF0b3JQb3NpdGlvbik7DQogICAgICAg ICBtX2Jhc2VGaWxlTmFtZSA9IGZ1bGxGaWxlUGF0aE5hbWUuc3Vic3RyaW5nKGZpbGVTZXBhcmF0 b3JQb3NpdGlvbiArIDEpOw0KICAgICAgICAgbV9iYXNlUGF0aCA9IG5ldyBGaWxlKG1fcGFyZW50 UGF0aCk7DQogICAgICB9DQoNCiAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiQmFzZUZpbGVQYXRo IGlzICIgKyBtX2Jhc2VQYXRoLnRvU3RyaW5nKCkgKyAiIGFuZCBiYXNlIGZpbGUgbmFtZSBpcyAi ICsgbV9iYXNlRmlsZU5hbWUpOw0KDQogICAgICBGaWxlW10gbWF0Y2hpbmdGaWxlcyA9IG1fYmFz ZVBhdGgubGlzdEZpbGVzKG5ldyBCYXNlRmlsZU5hbWVGaWx0ZXIoKSk7DQoNCiAgICAgIGlmICht YXRjaGluZ0ZpbGVzID09IG51bGwpIHsNCiAgICAgICAgIG1fcm90YXRpb24gPSAwOw0KICAgICAg ICAgU3lzdGVtLm91dC5wcmludGxuKCJObyBmaWxlcyBmb3VuZCEgdXNpbmcgcm90YXRpb24gemVy by4iKTsNCg0KICAgICAgfQ0KICAgICAgZWxzZSB7DQogICAgICAgICBsb25nIG9sZGVzdEZpbGVN b2RpZmljYXRpb25UaW1lID0gTG9uZy5NQVhfVkFMVUU7DQogICAgICAgICBpbnQgZWFybGllc3RS b3RhdGlvbiA9IDA7DQogICAgICAgICBpbnQgbGFzdFJvdGF0aW9uID0gMDsNCiAgICAgICAgIGZv ciAoaW50IGkgPSAwOyBpIDwgbWF0Y2hpbmdGaWxlcy5sZW5ndGg7IGkrKykgew0KICAgICAgICAg ICAgU3RyaW5nIGN1cnJlbnRGaWxlTmFtZSA9IG1hdGNoaW5nRmlsZXNbaV0udG9TdHJpbmcoKTsN CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihjdXJyZW50RmlsZU5hbWUgKyAiICIgKyBt YXRjaGluZ0ZpbGVzW2ldLmxhc3RNb2RpZmllZCgpKTsNCiAgICAgICAgICAgIGxvbmcgZmlsZUxh c3RNb2RpZmllZCA9IG1hdGNoaW5nRmlsZXNbaV0ubGFzdE1vZGlmaWVkKCk7DQogICAgICAgICAg ICAvLyBUaGUgZmlsZXMgbWF5IGJlIHJldHVybmVkIGluIGFueSBvcmRlciB0aGVyZWZvcmUgY2hl Y2sgdGhlIHJvdGF0aW9uIG51bWJlcg0KICAgICAgICAgICAgaW50IGN1cnJlbnRGaWxlUm90YXRp b24gPQ0KICAgICAgICAgICAgICAgSW50ZWdlci5wYXJzZUludChjdXJyZW50RmlsZU5hbWUuc3Vi c3RyaW5nKGN1cnJlbnRGaWxlTmFtZS5sZW5ndGgoKSAtIG1fZGVjaW1hbEZvcm1hdC5nZXRNaW5p bXVtSW50ZWdlckRpZ2l0cygpKSk7DQogICAgICAgICAgICBpZiAoKGZpbGVMYXN0TW9kaWZpZWQg PCBvbGRlc3RGaWxlTW9kaWZpY2F0aW9uVGltZSkgJiYgKGN1cnJlbnRGaWxlUm90YXRpb24gPD0g bV9tYXhSb3RhdGlvbnMpKSB7DQogICAgICAgICAgICAgICBvbGRlc3RGaWxlTW9kaWZpY2F0aW9u VGltZSA9IGZpbGVMYXN0TW9kaWZpZWQ7DQogICAgICAgICAgICAgICBlYXJsaWVzdFJvdGF0aW9u ID0gY3VycmVudEZpbGVSb3RhdGlvbjsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGlmIChs YXN0Um90YXRpb24gPCBjdXJyZW50RmlsZVJvdGF0aW9uKQ0KICAgICAgICAgICAgICAgbGFzdFJv dGF0aW9uID0gY3VycmVudEZpbGVSb3RhdGlvbjsNCiAgICAgICAgIH0NCiAgICAgICAgIGlmIChs YXN0Um90YXRpb24gPT0gbV9tYXhSb3RhdGlvbnMpDQogICAgICAgICAgICBtX3JvdGF0aW9uID0g ZWFybGllc3RSb3RhdGlvbjsNCiAgICAgICAgIGVsc2UNCiAgICAgICAgICAgIG1fcm90YXRpb24g PSBsYXN0Um90YXRpb24gKyAxOw0KICAgICAgfQ0KICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJT dGFydGluZyB3aXRoIGZpbGUgZ2VuZXJhdGlvbiAiICsgbV9yb3RhdGlvbik7DQogICB9DQoNCiAg IGlmIChtX3JvdGF0aW9uID4gbV9tYXhSb3RhdGlvbnMpDQogICAgICBtX3JvdGF0aW9uID0gbV9t YXhSb3RhdGlvbnM7DQogICBpZiAobV9yb3RhdGlvbiA8IDApDQogICAgICBtX3JvdGF0aW9uID0g MDsNCn0NCiAgICAvKioNCiAgICAgKiBDYWxjdWxhdGUgdGhlIHJlYWwgZmlsZSBuYW1lIGZyb20g dGhlIGJhc2UgZmlsZW5hbWUuDQogICAgICoNCiAgICAgKiBAcmV0dXJuIEZpbGUgdGhlIGNhbGN1 bGF0ZWQgZmlsZSBuYW1lDQogICAgICovDQogICAgcHVibGljIEZpbGUgbmV4dEZpbGUoKSANCiAg ICB7DQogICAgICAgIGZpbmFsIFN0cmluZ0J1ZmZlciBzYiA9IG5ldyBTdHJpbmdCdWZmZXIoKTsN CiAgICAgICAgZmluYWwgRmllbGRQb3NpdGlvbiBmcCA9IG5ldyBGaWVsZFBvc2l0aW9uKCBOdW1i ZXJGb3JtYXQuSU5URUdFUl9GSUVMRCApOw0KICAgICAgICBzYi5hcHBlbmQoIG1fYmFzZUZpbGUg KTsNCg0KICAgICAgICBmaW5hbCBTdHJpbmdCdWZmZXIgcmVzdWx0ID0gbV9kZWNpbWFsRm9ybWF0 LmZvcm1hdCggbV9yb3RhdGlvbiwgc2IsIGZwICk7DQogICAgICAgIG1fcm90YXRpb24gKz0gMTsN Cg0KICAgICAgICBpZiggbV9yb3RhdGlvbiA+PSBtX21heFJvdGF0aW9ucyApIG1fcm90YXRpb24g PSAwOw0KDQogICAgICAgIHJldHVybiBuZXcgRmlsZSggcmVzdWx0LnRvU3RyaW5nKCkgKTsNCiAg ICB9DQp9DQo= --0__=45BBE114DF81B02D8f9e8a93df938690918c45BBE114DF81B02D Content-Type: text/plain; charset=us-ascii -- To unsubscribe, e-mail: For additional commands, e-mail: --0__=45BBE114DF81B02D8f9e8a93df938690918c45BBE114DF81B02D--