Режим делегации Websphere classloader

Возможно, это проблема DNN 9.1.1. Попробуйте перейти на 9.3.1, помня, что вы можете столкнуться с некоторыми проблемами, если ваши сторонние модули не были обновлены.

7
задан pgras 24 February 2009 в 09:44
поделиться

2 ответа

На проектах, которым меня присваивают, мы на самом деле делаем переключение на РОДИТЕЛЬСКО-ПОСЛЕДНИЙ для большинства наших приложений. Причиной этого обычно является определенная для приложения реализация чего-то или потребность в определенном для приложения пакете свойства, который Websphere использует также (переопределяющий установку Websphere входа свободного городского населения, например).

Если что-то повреждается после переключателя обычно из-за несколько неправильной установки приложения suddently начинает использоваться (в то время как перед переключателем это было переопределено ресурсами Websphere).

6
ответ дан 7 December 2019 в 03:21
поделиться

с использованием ByteArrayOutputStream и System.setXXX очень просто:

private final ByteArrayOutputStream outContent = new ByteArrayOutputStream();
private final ByteArrayOutputStream errContent = new ByteArrayOutputStream();
private final PrintStream originalOut = System.out;
private final PrintStream originalErr = System.err;

@Before
public void setUpStreams() {
    System.setOut(new PrintStream(outContent));
    System.setErr(new PrintStream(errContent));
}

@After
public void restoreStreams() {
    System.setOut(originalOut);
    System.setErr(originalErr);
}

примеры тестовых случаев:

@Test
public void out() {
    System.out.print("hello");
    assertEquals("hello", outContent.toString());
}

@Test
public void err() {
    System.err.print("hello again");
    assertEquals("hello again", errContent.toString());
}

Я использовал этот код для проверки параметра командной строки (утверждая, что -version выводит строку версии и т. д.)

Изменить: Предыдущие версии этого ответа после тестов назывались System.setOut (null) ; Это причина того, что комментаторы ссылаются на NullPointerExceptions.

По моему опыту, всегда лучше переключаться на родительский последний, особенно если вы используете ведение журнала общего доступа. Это связано с тем, что WebSphere включает целую кучу вещей в свои собственные загрузчики классов, которые часто имеют разные версии / конфигурации, чем та, которую вы хотите использовать.

Если вы это делаете, я бы порекомендовал вам создать сценарий развертывания приложение, потому что это может быть одна из тех вещей, которые упускаются из виду при развертывании.

3
ответ дан 7 December 2019 в 03:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: