Слово предупреждения: если вы поместите файлы конфигурации в папку WEB-INF/classes
, а ваша среда IDE, скажем, Eclipse, выполняет очистку / перестройку, она будет уничтожать ваши файлы conf, если они не были в исходном каталоге Java. Большой ответ BalusC намекает на то, что в варианте 1, но я хотел добавить акцент.
Я усвоил, что если вы «скопируете» веб-проект в Eclipse, он очистит / перестроит из любых исходных папок , В моем случае я добавил «связанный исходный каталог» из нашей Java-библиотеки POJO, он будет скомпилирован в папку WEB-INF/classes
. Выполнение чистых / перестроек в этом проекте (а не в проекте веб-приложений) вызвало ту же проблему.
Я думал о том, чтобы поместить мои confs в папку POJO src, но эти confs - все для сторонних библиотек (например, Quartz или URLRewrite), которые находятся в папке WEB-INF/lib
, так что это не имеет смысла , Я планирую протестировать его размещение в папке «src» веб-проектов, когда я обхожусь к нему, но эта папка в настоящее время пуста, и в ней есть файлы conf, которые выглядят inelegant.
Итак, я голосую за то, в WEB-INF/commonConfFolder/filename.properties
, next в папку классов, которая является параметром Balus 2.
Есть несколько вариантов.
Самый быстрый для использования в NSObject
:
- (void)performSelector:(SEL)aSelector withObject:(id)anArgument afterDelay:(NSTimeInterval)delay
(Есть несколько других с небольшими изменениями.)
Если вы хотите больше контроля или чтобы иметь возможность сказать, отправляйте это сообщение каждые тридцать секунд, вам, вероятно, нужно NSTimer
.
Взгляните на класс NSTimer
:
NSTimer *timer;
...
timer = [[NSTimer scheduledTimerWithTimeInterval:30.0 target:self selector:@selector(thisMethodGetsFiredOnceEveryThirtySeconds:) userInfo:nil repeats:YES] retain];
[timer fire];
Где-то еще у вас есть фактический метод, который обрабатывает событие:
- (void) thisMethodGetsFiredOnceEveryThirtySeconds:(id)sender {
NSLog(@"fired!");
}
+[NSTimer scheduledTimerWithTimeInterval:target:selector:userInfo:repeats:]
Вы также можете посмотреть другие методы NSTimer