Итак, вкратце; невозможно перейти от ледника к стандарту.
Amazon S3 поддерживает следующие переходы жизненного цикла между классами хранения с использованием конфигурации жизненного цикла:
Вы можете перейти из класса хранения STANDARD в любой другой класс хранения.
Вы можете перейти с любого класса хранения на класс хранения GLACIER.
Вы можете перейти от класса хранения STANDARD_IA к классам хранения INTELLIGENT_TIERING или ONEZONE_IA.
Вы можете перейти от класса хранения INTELLIGENT_TIERING к классу хранения ONEZONE_IA.
Следующие переходы жизненного цикла не поддерживаются:
Нельзя перейти из какого-либо класса хранения в класс хранения STANDARD.
Нельзя перейти из какого-либо класса хранения в класс хранения REDUCED_REDUNDANCY.
Нельзя перейти от класса хранения INTELLIGENT_TIERING к классу хранения STANDARD_IA.
Нельзя перейти с класса хранения ONEZONE_IA на классы хранения STANDARD_IA или INTELLIGENT_TIERING.
Нельзя перейти с класса хранения GLACIER на любой другой класс хранения.
blockquote>Подробнее о жизненных циклах объектов s3 -> документы
Существуют многочисленные зарегистрированные экземпляры на веб-людях предупреждения об использовании входа свободного городского населения. Так так, что SLF4J получает большую популярность.
Рассмотрение, что Вы не интересуетесь использованием Tomcat с Log4j, необходимо просто использовать Log4j непосредственно в приложении. Особенно, если нет никакого шанса, что Вы будете переключать платформы журналирования в будущее. Это уменьшит сложность Вашего приложения и избавится от любых проблем загрузчика класса, которые Вы имеете с входом свободного городского населения.
Это должно быть относительно легким поиском и заменой в Вашем тексте, поскольку вход свободного городского населения и log4j оба используют структуру подобного вызова для их методов входа.
Необходимо скомпилировать дополнительный компонент для полного входа свободного городского населения. Использованием Tomcat 6 по умолчанию hardcoded реализация входа свободного городского населения, который всегда делегирует к java.util.logging.
инструкции по Зданию здесь http://tomcat.apache.org/tomcat-6.0-doc/building.html
Затем заменяет кота-juli.jar в / каталоге bin Tomcat и помещает tomcat-juli-adapters.jar в / каталог lib наряду с log4j и конфигурацией.
Будьте особенно осторожны, который Вы имеете не , поместил log4j.jar в каталог свободного городского населения/lib Tomcat. Если корень classloader загрузит log4j библиотеки, то Вы столкнетесь с конфликтами и проблемами инициализации, когда Ваши веб-приложения также попытаются использовать log4j.
, Если необходимо использовать log4j для общего входа Tomcat, необходимо будет быть осторожными, что веб-приложения не пытаются загрузить log4j также. Если у Вас будет несколько веб-приложений на сервере, то Вы должны будете дисциплинировать инициализацию журнала того каждого веб-приложения, не топает на инициализации других веб-приложений. Каждое веб-приложение должно будет использовать уникальные идентификаторы Регистратора, которые могут быть выполнены с уникальными именами пакета.
Используя общий log4j в Tomcat с несколькими веб-приложениями вызывает серьезные конфликты, когда Вы совместно использовали библиотеки, что все хотят сделать вход, те, которые В спящем режиме или Spring. Следующее веб-приложение, которое пытается инициализировать log4j, может закрыть регистратор предыдущего. Это может быть путаница.
Решение из developpez.com Да, вы можете оптимизировать его и сделать его намного чище. Нельзя использовать такую "Цепочку Ответственность "с фабрикой:
public class ProcessFactory {
private ArrayList<Process> processses = null;
public ProcessFactory(){
super();
processses = new ArrayList<Process>();
processses.add(new ProcessC1());
processses.add(new ProcessC2());
processses.add(new ProcessC3());
processses.add(new ProcessC4());
processses.add(new ProcessC5(6));
processses.add(new ProcessC5(22));
}
public Process getProcess(int var, int subvar){
for(Process process : processses){
if(process.canDo(var, subvar)){
return process;
}
}
return null;
}
}
Тогда, как ваши процессы реализуют процесс интерфейса с canXXX, вы можете легко использовать:
new ProcessFactory().getProcess(var,subvar).launch();
-121--4557764- Вам не нужно менять CurrentCulture для преобразования. Если вы уверены, что дата в форме «dd/MM/yyyy», вы можете использовать
DateTime dtTemp = DateTime.ParseExact(dateString, "dd/MM/yyyy", null) // in order not to have to specify a FormatProvider
, а затем использовать
dtTemp.ToString("yyyy-MM-dd")
Таким образом, у вас не будет проблем независимо от того, что CurrentCulture. Однако, если вы не уверены, что дата имеет форму «dd/MM/yyyy», а основана на формате краткой даты CurrentCulture, то вы должны использовать
DateTime dtTemp = DateTime(dateString, CurrentCulture.DateTimeFormat.ShortDatePattern, CurrentCulture.DateTimeFormat);
-121--3294774- Может быть я не прав. Попробуйте выполнить следующее:
A) Добавить приложение в пакет my.package как: ИЛИ B) Уменьшить уровень журнала root до INFO