как настроить Hibernate для работы с Apache CXF - PullRequest
1 голос
/ 18 июля 2009

Для моего приложения мне нужно использовать Hibernate с Apache CXF. Проблема в том, что после того, как я настроил hibernate на apache cxf, приложение не запустилось. Он выдает ошибку, говоря, что не может найти класс LocalSessionFactoryBean из Springframework (который я использовал для создания factorySession). Я новичок в Apache CXF, так что это может быть ошибка с моей стороны. Может кто-нибудь из вас, ребята, подскажет, как лучше всего настроить гибернацию с помощью apache cxf.

Заранее спасибо

Ответы [ 3 ]

2 голосов
/ 18 ноября 2009

Микаэль Истрия писал: Ваша проблема может быть связана с конфликтом в зависимости "asm". В самом деле, CXF использует более новую версию "cglib", чем hibernate, которая сама использует более новую «asm», так что это иногда вызывает проблемы при объединении их вместе (Исключение, такое как NoSuchMethodError) Обходной путь, который я использую, заключается в замене старого cglib (и его зависимости) на cglib-nodep.jar в вашем classpath, это нормально для Hibernate и не требуется старый "асм".

Если вы используете Maven, этот образец должен помочь вам понять, как решить такой конфликт:

     <dependency>
           <!-- This artifacts adds hibernate as a dependency -->
           <groupId>org.ow2.bonita</groupId>
           <artifactId>bonita-server</artifactId>
           <version>4.0.1</version>
           <scope>test</scope>
          <exclusions>
               <exclusion> <!-- Then remove the dependency to cglib to avoid
 conflicts with CXF's asm -->
                  <groupId>cglib</groupId>
                   <artifactId>cglib</artifactId>
               </exclusion>
           </exclusions>
       </dependency>
            <!-- Replaced old cglib by cglib-nodep -->
       <dependency>
           <groupId>cglib</groupId>
           <artifactId>cglib-nodep</artifactId>
          <version>2.1_3</version>
       </dependency>

Я нашел решение здесь: http://mail-archives.apache.org/mod_mbox/cxf-users/200901.mbox/%3C7d456d960901281109t3fbd721egddad5ca072ed5af@mail.gmail.com%3E

0 голосов
/ 12 ноября 2009

Это действительно похоже на проблему пути к классам, когда вы добавили CXF, вы каким-то образом потеряли банку гибрита из пути к классам. Этот отсутствующий компонент - это спящий класс.

0 голосов
/ 05 августа 2009

используйте CXF для своего сервисного уровня и сохраняйте спящий режим в бэкэнде. Это не должно реально мешать тому, что делают весна или зимняя спячка.

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