Код: Выделить всё
public boolean changePassword(String user, String oldPw, String newPw, String cmsName, String authType)
{
boolean success = false;
try
{
System.out.println("BEFORE");
ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
System.out.println("AFTER");
// commented out
// IEnterpriseSession session = sessionMgr.logon(user, oldPw, cmsName, authType);
// session.getUserInfo().setPassword(oldPw, newPw);
}
catch(Exception e)
{
System.out.println("EXCEPTION");
LOG.error("Error changing password for BO-CMS and user '" + user + "'", e);
}
return success;
}
Однако я заметил, что после вызова CrystalEnterprise.getSessionMgr() каждая система .out (а также каждый регистратор log4j) больше не выдает никаких результатов.
Приведенный выше код печатает только «ДО», а не «ПОСЛЕ» или «ИСКЛЮЧЕНИЕ».
Но мой отладчик доказывает, что Вызывается System.out.println("AFTER").
Кстати: вызов этого фрагмента кода непосредственно из основного метода Java работает так, как ожидалось.
Я получаю выходные данные «ДО» и «ПОСЛЕ».
Кто-нибудь знает, что здесь происходит?
Подробнее здесь: https://stackoverflow.com/questions/379 ... out-stream
Мобильная версия