Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Corba";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Вниз

Про устойчивость 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 вся ветка

Форум: "Corba";
Текущий архив: 2004.08.15;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.033 c
4-1088782032
diablo_m
2004-07-02 19:27
2004.08.15
Расширение MSC


14-1091103822
aga
2004-07-29 16:23
2004.08.15
DVD Combo LG


3-1090389255
leonidus
2004-07-21 09:54
2004.08.15
Вопрос по связи таблиц с последующим добавлением записей в подчин


14-1091210801
Soft
2004-07-30 22:06
2004.08.15
Кто хочет стать добровольным помощником Микрософт(Иудой)?


6-1087268007
genemy
2004-06-15 06:53
2004.08.15
именованные каналы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский