Java (Apache Tomcat) + COM-объекты - PullRequest
0 голосов
/ 12 марта 2020

У меня есть стороннее приложение, которое работает на Apache Tomcat на Windows. Это приложение использует библиотеку dll, которая использует COM-объекты (с CoCreateInstance .. ). Библиотека и COM-объекты скомпилированы в Visual C ++ 2010.
Все отлично работает на Java 5, но на Java 6 и выше Java вылетает с EXCEPTION_ACCESS_VIOLATION (0xc0000005).
Часть библиотеки, в которой происходит сбой, выглядит следующим образом:

try{
  ...
  if (COMobject == NULL)  {throw ...} // if Comobject is null throw proper exception
  ...
  hr = COMobject->Method   //this is where program is crashing
  ...
}
catch ..

код проверяет, имеет ли COMobject значение null, затем вызывает метод из этого объекта и вся часть находится в try ... catch, но эта ловушка c ++ не запускается - вместо этого целое java становится кр sh.
Это относится к разным методам этого объекта, метод может вызываться иногда пару раз, но иногда только один раз до его сбоя.
Может кто-нибудь помочь мне с этой проблемой?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...