Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
WebSphere ESB. Outbound JDBC adapter & Stored procedure
|
|||
|---|---|---|---|
|
#18+
Добрый день! Подскажите, плз, как правильно делать такую вещь: Есть WebSphere ESB, Outbound JDBC adapter, Stored procedure Шина через адаптер обращается к ХП - и все хорошо. Но вот в хранимую процедуру нужно передать еще один параметр и получить на одно поле больше в резалтсете. Какие действия нужно для этого проделать? Достаточно ли поменять структуру бизнес объектов, или нужно сделать еще что-то? Когда я попытался просто добавить поле в бизнес-объект, возвращаемый процедурой, получил ошибку "В объекте EJB возникла динамическая непредвиденная ситуация". Т.е. что-то я сделал не так. Но в классах, реализующих биндинг, указываются только схемы бизнес-объектов вызова и возврата хранимой процедуры, без привязки к полям и т.п. Что я делаю не так? Где почитать, как делать правильно? Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.04.2009, 13:02 |
|
||
|
WebSphere ESB. Outbound JDBC adapter & Stored procedure
|
|||
|---|---|---|---|
|
#18+
Andrew.V.S.Добрый день! Подскажите, плз, как правильно делать такую вещь: Есть WebSphere ESB, Outbound JDBC adapter, Stored procedure Шина через адаптер обращается к ХП - и все хорошо. Но вот в хранимую процедуру нужно передать еще один параметр и получить на одно поле больше в резалтсете. Какие действия нужно для этого проделать? Достаточно ли поменять структуру бизнес объектов, или нужно сделать еще что-то? Когда я попытался просто добавить поле в бизнес-объект, возвращаемый процедурой, получил ошибку "В объекте EJB возникла динамическая непредвиденная ситуация". Т.е. что-то я сделал не так. Но в классах, реализующих биндинг, указываются только схемы бизнес-объектов вызова и возврата хранимой процедуры, без привязки к полям и т.п. Что я делаю не так? Где почитать, как делать правильно? Спасибо Для начала, как это работает в принципе: Если вы добавляете в уже существующий EJB (а я предполагаю, что используется EJB 2.1) некое новое поле, оно соотвественно должно быть объявлено (как минимум) в ejb-jar.xml, и должно быть замаплено на конкретную таблицу и конкретное поле в этой таблице в базе данных... у WAS, как и у всех иных серверов приложений других производителей существует так называемы вендор-специфик дескритор, вот в нем и должен присутствовать такой биндинг. Может быть так же биндинг по умолчанию, в этом случае, контейнер строит имя поля таблицы по имени метода... У каждого производителя - свой подход подобных наименований и биндинга по умолчанию. При работе в WebSphere Integrator (Rational Applicaiton Developer), когда вы создаете, модифицируете некие EJB компоненты - необходимые файлы дескрипторов генерятся и меняются автоматически. Если исполтьзуется схема развертывнаия "from top to down" (схема БД генерится контейнером), то тут подводных камней точно не должно быть (когда подымаете вверх - иногда бывает). Надо попробовать удалить все стабы для ваших EJB компонентов (не удалите по ошибке сами EJB) и сделать "редиплой", все, скорее всего, заработает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2009, 09:35 |
|
||
|
WebSphere ESB. Outbound JDBC adapter & Stored procedure
|
|||
|---|---|---|---|
|
#18+
Отчитываюсь о результатах. Как показал WinDiff, редактор бизнес-объектов не добавляет некоторых атрибутов для нового поля. А именно строк: <xsd:annotation xml:space="preserve"> <xsd:appinfo source="http://www.ibm.com/xmlns/prod/websphere/j2ca/jdbc/metadata"> <jdbcasi:JDBCAttributeTypeMetadata xmlns:jdbcasi="http://www.ibm.com/xmlns/prod/websphere/j2ca/jdbc/metadata"> <jdbcasi:SPParameterType/> </jdbcasi:JDBCAttributeTypeMetadata> </xsd:appinfo> </xsd:annotation> если открыть .xsd как текст и добавить поле вручную копипастом из уже имеющегося - все работает как надо. И еще: редактор бизнес-объектов записывает уже имеющиеся тэги немного иначе. Меняет местами атрибуты, иначе закрывает пустые тэги. Не знаю, влияет ли это на корректность работы элемента Экспорт. По идее - не должно бы. Но с этим экспериментировать уже не досуг :) Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2009, 13:24 |
|
||
|
WebSphere ESB. Outbound JDBC adapter & Stored procedure
|
|||
|---|---|---|---|
|
#18+
Andrew.V.S.Отчитываюсь о результатах. Как показал WinDiff, редактор бизнес-объектов не добавляет некоторых атрибутов для нового поля. А именно строк: <xsd:annotation xml:space="preserve"> <xsd:appinfo source="http://www.ibm.com/xmlns/prod/websphere/j2ca/jdbc/metadata"> <jdbcasi:JDBCAttributeTypeMetadata xmlns:jdbcasi="http://www.ibm.com/xmlns/prod/websphere/j2ca/jdbc/metadata"> <jdbcasi:SPParameterType/> </jdbcasi:JDBCAttributeTypeMetadata> </xsd:appinfo> </xsd:annotation> если открыть .xsd как текст и добавить поле вручную копипастом из уже имеющегося - все работает как надо. И еще: редактор бизнес-объектов записывает уже имеющиеся тэги немного иначе. Меняет местами атрибуты, иначе закрывает пустые тэги. Не знаю, влияет ли это на корректность работы элемента Экспорт. По идее - не должно бы. Но с этим экспериментировать уже не досуг :) Удачи!Может, кому-нибудь пригодится. Тоже столкнулся с подобной проблемой, но в Inbound адаптере. Редактор бизнес-объектов все-таки генерирует эти строки. Просто для этого нужно выделить мышкой добавленное поле, открыть его в properties view, перейти на вкладку Application Info, там нажать Add и выбрать нужные вам свойства. Но в моем случае этого оказалось мало: после редеплоя потребовалась перезагрузка сервера WebSphere :( Без этого новое поле, хоть ты тресни, не читалось из таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2010, 17:45 |
|
||
|
|

start [/forum/topic.php?fid=43&gotonew=1&tid=1602632]: |
0ms |
get settings: |
13ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
89ms |
get topic data: |
11ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 282ms |
| total: | 482ms |

| 0 / 0 |
