2011-11-09 3 views
1

Я новичок в сервере приложений Jboss 7. Я пытаюсь создать источник данных. Я добавил следующий код в standalone.xml:Как подключить источник данных с JBoss AS7

<datasources> 
     <datasource jndi-name="java:/sss" enabled="true" use-java-context="true" pool-name="sss"> 
      <connection-url>jdbc:oracle:thin:@ipaddress:sid</connection-url> 
      <driver> ojdbc14.jar</driver> 
      <pool></pool> 
      <security> 
       <user-name>username</user-name> 
       <password>password</password> 
      </security> 
     </datasource> 
     <drivers> 
      <driver name="ojdbc14.jar" module="com.oracle"> 
       <xa-datasource-class>oracle.jdbc.OracleDriver</xa-datasource-class> 
      </driver> 
     </drivers> 
    </datasources> 

Я разместил свой ojdbc14.jar по следующему пути, \jboss-as-web-7.0.2.Final\modules\com\oracle\main.

Я сохранил module.xml, как показано ниже.

<module xmlns="urn:jboss:module:1.0" name="com.oracle"> 
    <resources> 
     <resource-root path="ojdbc14.jar"/> 
    </resources> 
    <dependencies> 
     <module name="javax.api"/> 
     <module name="javax.transaction.api"/> 
    </dependencies> 
</module> 

Но я получаю ошибку следующим образом,

ОШИБКА [STDERR] Исключение в потоке "Контроллер загрузки Thread" java.la ng.RuntimeException: org.jboss.as.controller.persistence .ConfigurationPersistenc eException: Не удалось разобрать конфигурации

Может ли один помочь мне в решении этой ошибки ?.

ответ

0

У вас есть два варианта развертывания DS: либо как модуль, либо как развертывание. Посмотрите на this article для более подробной информации. Кроме того, по какой-то причине парсер JBoss-конфигуратора как-то чувствителен к ошибкам в любых конфигурационных файлах, снова просматривает вашу конфигурацию, ищет любые слова с ошибками или ненужные пробелы.

0

Предположим, что файл конфигурации, который вы прочитали, или осведомлен о документации сообщества.

Ссылка: JBoss Application Server 7 - Datasources documentation

Вы пробовали метод развертывания источника данных, развертывание драйвера с помощью консоли управления или CLI? Также интересно, что CLI сообщает об операции read-resource на узле источника данных.

[[email protected]:9999 /] /subsystem=datasources:read-resource(recursive=true) 
2

Похоже, что что-то не так с вашей конфигурацией. Мое предположение было бы конфигурацией пула. Вы можете попробовать что-то вроде этого:

<pool> 
    <min-pool-size>1</min-pool-size> 
    <max-pool-size>30</max-pool-size> 
    <prefill>true</prefill> 
</pool> 

И просто чтобы быть уверенным, удалить пространство в

<driver> ojdbc14.jar</driver> 

некоторых других точек. Возможно, вы захотите использовать классы проверки Oracle.

<validation> 
    <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/> 
    <stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"/> 
    <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"/> 
</validation> 

Кроме того, вы, вероятно, захотите использовать драйвер Oracle, соответствующий вашему JRE/JDK. Поскольку вы, скорее всего, не используете Java 1.4, вам не следует использовать ojdbc14.jar. Если вы используете Java 1.5, вы должны использовать ojdbc5.jar, и если вы используете Java 1.6, вы должны использовать ojdbc6.jar.

-2

Я думаю, что есть проблема совместимости.

  • JBoss AS7 работает под управлением java 6 и работает только с версиями драйвера jdbc 4.0.
  • Драйвер jdbc ojdbc14.jar скомпилирован с java 1.4, и это jdbc 3.0 или ниже.

Возможно, он не может работать вместе.

Я бы попробовал драйверы jdbc для oracle11g (для обратной совместимости). Я нашел это Interoperability Matrix для драйверов JDBC

+0

Не уверен, что вы хотите сказать. Будьте конкретны и напишите полные слова. –

+0

@SantoshJoshi Извините, я попытался объяснить это лучше. Спасибо за совет. – podrick

Смежные вопросы