Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.15;
Скачать: CL | DM;

Вниз

Про устойчивость VisiBroker for C++ 4.1   Найти похожие ветки 

 
Олег Лаукарт ©   (2002-05-15 12:32) [0]

Коллеги, кто реально пользуется продуктом, поделитесь впечатлениями. У меня создается впечатление, что с устойчивостью есть проблемы. Хотелось бы услышать обратное и понять причину следующих проблем.

Комбинация: VisiBroker for C++ 4.1, D6, Up1, BOA, Windows NT.

Одна проблема описана в http://www.corbaejb.mastak.ru/ikonboard/ikonboard/topic.cgi?forum=6&topic=8

Вот вторая:
Создаю на Д6 сервер, регистрирующий в ВОА три поименованых корба объекта. Они доступны из клиентских программ. Запускаю Inprise Visibroker Console и в Location Service выбираю Object Instances. Замечено два негативных исхода. Первый - консоль долго не может ничего найти. Второй хуже и именно вызывает интерес - моя серверная программа слетает:
"application-defined exception (code 0xc00000fd) at ..." под дебагером выяснилось, что ошибка возникает в модуле vport_br (vport_br.@VISMutex_var@$bctr$qr8VISMutexuc).

Заранее благодарен,
Олег Лаукарт.


 
fnv-hope ©   (2002-05-27 08:21) [1]

Увы, обратного сказать не могу, могу только повторить, что есть проблемы (об этом писалось в дисскуссии "Создание фабрики и объектов".


 
Олег Лаукарт ©   (2002-06-25 12:41) [2]

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


 
sesam   (2002-07-30 15:34) [3]

Добрый день!
Рискую быть сильно побитым почитателями только Delphi и только C++, но:
если использовать способность C++Builder"а цеплять pas- и dcu- модули, можно с минимальными усилиями (в основном, связанными с  передачей составных типов и строк) довести Ваш Delphi-сервер до работоспособного состояния: во-первых, сервер не будет слетать при его поиске в VisiBroker Console, во-вторых, снимется проблема "Assertion faild: _reply_message!=(Protocol Engine::ReplyMessage*)Null, file vsrvreph.c? line 52"  (и куча других, описанных в этом Форуме), в-третьих, Вам не нужно трогать реализацию бизнес-логики - достаточно переписать только фабрики и управление объектами с состоянием, что не так уж и сложно, и, наконец, Вы получаете POA, с которым работать гораздо комфортнее.

1. В CBuilder создаете CORBA-сервер и, на основании Вашего idl-файла,  заглушки реализаций объектов (пока все автоматически).
2. В pas-файле реализаций серверных методов заменяете методы объектов на процедуры (убираете, напр., точку между именем объекта/метода), выпалываете лишнее и включаете этот файл в проект (простои контекстная замена).
3. В xxxServer.cpp вставляете #include "имя pas-файла.hpp" и оформляете вызовы его процедур (тут прийдется немного повозиться...).
4. Дописываете реализацию объектов с состоянием...

Вот, собственно, и все.

Естественно, это подмена понятий, и CORBA реализована на CPP, но когда нужно перевести большое существующие D-приложение в N-звенку, такое решение, по-моему, имеет право на существование.
После того, как количество клиентов возросло, и D-сервер стал устойчиво падать, в качестве временной меры мне пришлось сделать вышеописанное. Не знаю, может, я что-то не заметил, но пока все работает.
А вообще, я понял, что нужно слушаться знающих людей (Цимбал, Орлик и др.) и не писать сервера на Delphi (по кр. мере, пока).

Удачи.
Сергей.

P.S.: Если у кого-то есть опыт в написании подобной конструкции, пожалуйста, поделитесь впечатлениями и проблемами. Или утверждением, что так делать нельзя.



Страницы: 1 вся ветка

Текущий архив: 2004.08.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
14-1091006892
Vlad Oshin
2004-07-28 13:28
2004.08.15
Дроздов (в мире животных) выпускает муз.диск :)


4-1089026487
lister
2004-07-05 15:21
2004.08.15
Внешним ползунком двигать текст в MEMO


3-1090584922
sapsi
2004-07-23 16:15
2004.08.15
Добавить строку таблицы в поле Мемо


14-1091209922
Кириешки
2004-07-30 21:52
2004.08.15
Вот самая транспанентная форма.


14-1091101393
GrigP
2004-07-29 15:43
2004.08.15
Расположение папок с данными программы