Была такая же проблема с конвертером TD2JIRA. В конце концов пришлось исправить один из файлов Джейкоба, чтобы освободить объекты. После этого все прошло гладко.
Код в моем методе logout () клиента теперь выглядит так:
try {
Class rot = ROT.class;
Method clear = rot.getDeclaredMethod("clearObjects", new Class[]{});
clear.setAccessible(true);
clear.invoke(null, new Object[]{});
} catch( Exception ex ) {
ex.printStackTrace();
}
Класс ROT изначально не был доступен, AFAIR.
Обновление
Правильный способ освободить ресурсы в Джейкобе - это позвонить
ComThread.InitSTA(); // or ComThread.InitMTA()
...
ComThread.Release();
Плохо то, что иногда это не помогает. Несмотря на то, что Джейкоб вызывает собственный метод release (), память (даже не память Java, а память процесса JVM) бесконтрольно увеличивается.