2012-06-11 2 views
0

Я использую Spring 3.0.7 в JBoss 7.1.1, и у меня проблема с Oracle CLOB. У меня есть мои юнит-тесты, проходящие за пределами контейнера. Однако я не хватает некоторых классов API JBoss от моего maven mom. Когда я бегу я получаю следующую ошибку ....Jboss 7 и Spring CLOB с Oracle

Не удалось инициализировать JBossNativeJdbcExtractor, потому что JBoss классы API не доступны: java.lang.ClassNotFoundException: org.jboss.resource.adapter.jdbc.WrappedConnection

У кого-нибудь есть идеи относительно того, какие зависимости я должен включить, чтобы заставить это работать?

+1

И вы обеспечиваете трассировку стека? Исключение исходит от вашего кода, кода Spring или кода JBoss? –

+0

код Spring 3.1.1 устарел с изменениями в JBoss 7.1.1. см. ниже для моего решения – user671731

ответ

0

У меня это работает! Я вырезать и вставить код Spring 3.1.1 и просто заменить константы с новыми пакетами, как в ...

... 
private static final String WRAPPED_CONNECTION_NAME = "org.jboss.jca.adapters.jdbc.WrappedConnection"; 
private static final String WRAPPED_STATEMENT_NAME = "org.jboss.jca.adapters.jdbc.WrappedStatement"; 
private static final String WRAPPED_RESULT_SET_NAME = "org.jboss.jca.adapters.jdbc.WrappedResultSet"; 
... 

я тогда включал JBoss-развертывания-structure.xml файл, включив в зависимость от недостающего класс ...

<jboss-deployment-structure> 
<deployment> 
     <!-- need this for Spring CLOB along with my custom JBoss7NativeJdbcExtractor -->  
     <dependencies> 
      <module name="org.jboss.ironjacamar.jdbcadapters" /> 
     </dependencies>   
</deployment> 
</jboss-deployment-structure> 
+0

hi user671731, Не могли бы вы рассказать мне, где вы вырезаете и вставляете код констант? – Alok

0

Вы можете посмотреть на то, что мы делали в oVirt проекте - хотя мы использовали в качестве базы данных PostgreSQL, я думаю, имеют те же проблемы. Однако обратите внимание, что мы используем Spring-jdbc, а не «обычные» jdbc-вызовы.