Проект горит, а EJB Container так и не выбран. Пробовал BES 5.0 и Resin 2.1.2. Не получилось их использовать.
С BES'ом возникала исключительная ситуация, смысл которой был таков: "Container не поддерживает двухфазного подтверждения транзакций." Причем ругался BES на код, который сгенерировал JBuilder 6.0. По-моему, Borland просто вывесил большой красный флаг, где написано, что они КОЗЛЫ.
С Resin'ой воозще труба, он искажает спецификацию.
Да, может подскажете какую-гибудь среду разработки, а то писать бины (каждый как минимум из 3-х файлов, причем с большой долей дублирования) ручками, а тем более Deployment Descriptor очень непродуктивно.
Здравствуйте Danissimo, Вы писали:
D>Проект горит, а EJB Container так и не выбран. Пробовал BES 5.0 и Resin 2.1.2. Не получилось их использовать.
Так может это руки кривые? Проекты и на BES и на Resin живут. Причем на BES живут проекты телекома.
D>С BES'ом возникала исключительная ситуация, смысл которой был таков: "Container не поддерживает двухфазного подтверждения транзакций." Причем ругался BES на код, который сгенерировал JBuilder 6.0. По-моему, Borland просто вывесил большой красный флаг, где написано, что они КОЗЛЫ.
Ну вот так вот сразу. Ты посмотри на текущую версию BES — 5.0.2 ты его пробовал, или как всегда на Митино приобрели и поставили? И кто сказал, что в BES 5.0 поддерживает двухфазный коммит? BAS 4.5 это обеспечивал. Думаю, что 5.0.3 (или 5.1) будет тоже поддерживать 2PC. Я был бы удивлен, если бы в 5.0 сразу появилась его поддержка — слишком большая переработка архитектуры произошла.
D>С Resin'ой воозще труба, он искажает спецификацию.
D>Да, может подскажете какую-гибудь среду разработки, а то писать бины (каждый как минимум из 3-х файлов, причем с большой долей дублирования) ручками, а тем более Deployment Descriptor очень непродуктивно.
А никто не заставляет по 3 файла на бин создавать. А DD прописывать все равно придется. Причем в JB7 это все работает очень даже здорово. Не понимаю, что не устраивает...
D>Заранее благодарен. С меня пиво, много пива.
Конкретно — сколько?
PS
Чего за проект то делать надо?
А то только мат-перемат стоит, а толком ничего не объяснено.
Аристархов Андрей
Re[2]: Подскажите EJB Container
От:
Аноним
Дата:
21.06.02 12:44
Оценка:
Здравствуйте 3a, Вы писали:
3a>Так может это руки кривые? Проекты и на BES и на Resin живут. Причем на BES живут проекты телекома.
Скорее всего кривые. Народ ведь на форуме обсуждает, значит BES что-то может, чего я не могу.
3a>Ну вот так вот сразу. Ты посмотри на текущую версию BES — 5.0.2 ты его пробовал, или как всегда на Митино приобрели и поставили? И кто сказал, что в BES 5.0 поддерживает двухфазный коммит? BAS 4.5 это обеспечивал. Думаю, что 5.0.3 (или 5.1) будет тоже поддерживать 2PC. Я был бы удивлен, если бы в 5.0 сразу появилась его поддержка — слишком большая переработка архитектуры произошла.
Нет, BES я триальный с Borland выкачал. 5.0.2.
3a>А никто не заставляет по 3 файла на бин создавать. А DD прописывать все равно придется. Причем в JB7 это все работает очень даже здорово. Не понимаю, что не устраивает...
Когда начинал пробовать связку JBuilder 6.0 и BES, теперь уже 5.0.2, обнаружил такое дело. Установив в качестве AppServer'а выкаченный BES, JBuilder, как и следовало ожидать, добавил библиотеку (будем так это называть) к проекту: "Borland Enterprise Server 5.0 Client." Я сделал один Entity Bean и попытался собрать проект. JBuilder сгенерировал наследника, скажем MyBean_PM, попытался его откомпилировать и стал ругаться на то, что он не может найти класс com.borland.jb.util.ChainedException, причем в сгенерированном коде. Оказалось, что классы из подключенной библиотеки ссылаются на этот Exception, а самого класса в библиотеке нет -- JAR, в котором находится объявление этого Exception, не попал в библиотеку.
Выкачал с Borland'а пошаговое описание процесса создания бинов -- то же самое, пока не добавил к библиотеке JAR с этим Exception.
Это первое, что не устраивало.
Сделал два бина, сделал клиента, развернул бины. "Не поддерживает двухфазный commit." Ну не я ведь сгенерировал, уж не знаю, клиента-ли, стабы-ли или еще что, так, что стал требоваться двухфазный commit. Сам JBuilder сгенерировал, причем знал, для кого. А этот кто-то не понял :-(.
В чем я неправ???
3a>Конкретно — сколько?
Для начала -- ящик.
3a>PS 3a>Чего за проект то делать надо?
У заказчика бизнес -- посредничество между рекламодателями и изданиями, публикующими эту рекламу. Выполняем заказ в несколько этапов. На каждом этапе -- приемка. Скоро сдавать первый -- а даже сервер не выбран. Заказчику нужно Web-приложение с кучей различных автоматизированных рабочих мест. Заказчик настаивает на том, чтобы было обычное Win-приложение, заменяющее собой Web-интерфейс. Особенность -- приложение работает offline и подключается только на сеанс обмена данными.
3a>А то только мат-перемат стоит, а толком ничего не объяснено.
А>Когда начинал пробовать связку JBuilder 6.0 и BES, теперь уже 5.0.2, обнаружил такое дело. Установив в качестве AppServer'а выкаченный BES, JBuilder, как и следовало ожидать, добавил библиотеку (будем так это называть) к проекту: "Borland Enterprise Server 5.0 Client." Я сделал один Entity Bean и попытался собрать проект. JBuilder сгенерировал наследника, скажем MyBean_PM, попытался его откомпилировать и стал ругаться на то, что он не может найти класс com.borland.jb.util.ChainedException, причем в сгенерированном коде. Оказалось, что классы из подключенной библиотеки ссылаются на этот Exception, а самого класса в библиотеке нет -- JAR, в котором находится объявление этого Exception, не попал в библиотеку. А>Выкачал с Borland'а пошаговое описание процесса создания бинов -- то же самое, пока не добавил к библиотеке JAR с этим Exception. А>Это первое, что не устраивало. А>Сделал два бина, сделал клиента, развернул бины. "Не поддерживает двухфазный commit." Ну не я ведь сгенерировал, уж не знаю, клиента-ли, стабы-ли или еще что, так, что стал требоваться двухфазный commit. Сам JBuilder сгенерировал, причем знал, для кого. А этот кто-то не понял . А>В чем я неправ???
Думаю, что в свойствах проекта не выставлен сервер приложений. С ChainedException у меня это было как раз в этом случае. Зайди в свойства проекты, закладка Servers и выставь BES 5.0.2, а потом пересобери проект, удалив предварительно все сгенерированные классы.
3a>>Конкретно — сколько? А>Для начала -- ящик.
Уже радует.
А>У заказчика бизнес -- посредничество между рекламодателями и изданиями, публикующими эту рекламу. Выполняем заказ в несколько этапов. На каждом этапе -- приемка. Скоро сдавать первый -- а даже сервер не выбран. Заказчику нужно Web-приложение с кучей различных автоматизированных рабочих мест. Заказчик настаивает на том, чтобы было обычное Win-приложение, заменяющее собой Web-интерфейс. Особенность -- приложение работает offline и подключается только на сеанс обмена данными.
Во первых не понял, вначале Web, потом Application client... Или имеется ввиду, что работать этот клиент должен через Web?
В принципе получается, что вы на BES прямо-таки наталкиваетесь. Я бы даже сказал, что упираетесь.
Если нужен будет Web, так он есть. Причем помимо "чистых" Servlets еще и поддержка WebServices. Если стоит задача офф-лайн работы с дискретными сеансами соединения, то приложения можно писать тоже на Java, где используются промежуточные базы. (В принципе можно писать и на Delphi/C++Builder, благо они бподдерживают CORBA и WebServices). Это в двух словах. Ну а вообще надо подробнее смотреть, в особенности на требования. Я с такими задачами сталкивался не раз.
3a>>А то только мат-перемат стоит, а толком ничего не объяснено.
А>Не думал, что со стороны так это выглядит.
А выглядело именно так.
Здравствуйте 3a, Вы писали:
3a>Думаю, что в свойствах проекта не выставлен сервер приложений. С ChainedException у меня это было как раз в этом случае. Зайди в свойства проекты, закладка Servers и выставь BES 5.0.2, а потом пересобери проект, удалив предварительно все сгенерированные классы.
Так я и делал, проблема оставалась. Говорю же, в подключаемой (в момент указания сервера приложений) JBuilder'ом библиотеке Borland Enterprise Server 5.0 Client нет JAR'а, в котором содержится определение ChainedException. Ну да Бог с ним, проблема уже решена, Однако первое впечатление успело сложиться.
3a>>>Конкретно — сколько? А>>Для начала -- ящик. 3a>Уже радует.
3a>Во первых не понял, вначале Web, потом Application client... Или имеется ввиду, что работать этот клиент должен через Web? 3a>В принципе получается, что вы на BES прямо-таки наталкиваетесь. Я бы даже сказал, что упираетесь. 3a>Если нужен будет Web, так он есть. Причем помимо "чистых" Servlets еще и поддержка WebServices. Если стоит задача офф-лайн работы с дискретными сеансами соединения, то приложения можно писать тоже на Java, где используются промежуточные базы. (В принципе можно писать и на Delphi/C++Builder, благо они бподдерживают CORBA и WebServices). Это в двух словах. Ну а вообще надо подробнее смотреть, в особенности на требования. Я с такими задачами сталкивался не раз.
Да, я был не презентации, все это так. Только нет у меня доверия к BES'у. По-моему он сыроват, даже слишком. Меня с потрохами съедят, если, заплатив, окажется, что BES нас не удовлетворяет.
Здравствуйте Danissimo, Вы писали:
D>Здравствуйте 3a, Вы писали:
3a>>Думаю, что в свойствах проекта не выставлен сервер приложений. С ChainedException у меня это было как раз в этом случае. Зайди в свойства проекты, закладка Servers и выставь BES 5.0.2, а потом пересобери проект, удалив предварительно все сгенерированные классы.
D>Так я и делал, проблема оставалась. Говорю же, в подключаемой (в момент указания сервера приложений) JBuilder'ом библиотеке Borland Enterprise Server 5.0 Client нет JAR'а, в котором содержится определение ChainedException. Ну да Бог с ним, проблема уже решена, Однако первое впечатление успело сложиться.
Несколько важных замечаний.
1. Чтобы проинсталлировать новый BES и подключить его к JBuilder необходимо устанавливать его в другой каталог, либо вначале удалить настройки на BES в JBuilder, а потом подключить BES заново.
2. BES 5.0.2 идет с поставкой JBuilder 7, так что это тоже может сыграть свою роль. Кроме того, я заметил, что JB6 испольуется с update1, а есть еще update 2.
3. JB7 работает с BES 5.0.2 без проблем. Проверял самолично не раз, потому как инсталлировал и на рабочей машине и на notebook.
3a>>Во первых не понял, вначале Web, потом Application client... Или имеется ввиду, что работать этот клиент должен через Web? 3a>>В принципе получается, что вы на BES прямо-таки наталкиваетесь. Я бы даже сказал, что упираетесь. 3a>>Если нужен будет Web, так он есть. Причем помимо "чистых" Servlets еще и поддержка WebServices. Если стоит задача офф-лайн работы с дискретными сеансами соединения, то приложения можно писать тоже на Java, где используются промежуточные базы. (В принципе можно писать и на Delphi/C++Builder, благо они бподдерживают CORBA и WebServices). Это в двух словах. Ну а вообще надо подробнее смотреть, в особенности на требования. Я с такими задачами сталкивался не раз.
D>Да, я был не презентации, все это так. Только нет у меня доверия к BES'у. По-моему он сыроват, даже слишком. Меня с потрохами съедят, если, заплатив, окажется, что BES нас не удовлетворяет.
Если честно, то ситуация сейчас у вас такая, что в любом случае съесть могут — слишком долго запрягали. Во-вторых, писать будете все-равно на Java, так что JBuilder брать придется, он многие сервера поддерживает. Но в этом случае получаете JBuilder 7 и бесплатно BES 5.0.2, которые можете тестировать сколько угодно. А вообще, на мой взгляд, вам без "заказа" примера на стороне вряд ли обойтись. Так хоть не будете тратить время на исследование что работает и что не работает. Выставляете требования, которым должен удовлетворять пример, и смотрите на результат.
D>Я так понимаю, что совет -- BES?
Все-таки BES. Я пока во всем нашем обсуждении на самом деле не видел, что он не работет. Я пока видел только охи да ахи относительно того, что не очень корректно работает JBuilder 6, но по этому поводу я уже писал.
Здравствуйте Danissimo, Вы писали:
D>Здравствуйте 3a.
D>Спасибо за советы, я крепко подумаю.
Еще один совет-вопрос. А почему бы не обратиться в Российский Borland, с просьбой о предоставлении демо-версии JB7+BES 5.0.2, если уж сложилась такая ситауция, что нет времени ждать, когда появится trial JB7 на сайте? По моим ощущениям проект немаленький, должен их заинтересовать. Тем более, что достаточно просто дистрибутива, а trial-ключи к семерке можно получить на сайте Borland.