Ошибка JBoss КАК 7 при удалении EJBs

#java #jboss7.x #ear

#java #jboss7.x #ухо

Вопрос:

Я работаю над этим развертыванием шаг за шагом. Получил несколько ответов от людей, которые помогли, но теперь я застрял на этой ошибке:

 JBAS014775:    New missing/unsatisfied dependencies:
  service jboss.naming.context.java.jboss.datasources.DoDSRDS (missing) dependents: [service jboss.persistenceunit."dodsr.ear/dodsr.jar#DoDSRMGR"] 
  

Мой persistence.xml файл — это:

 <?xml version="1.0" encoding="windows-1252" ?>
  <persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
         version="1.0" xmlns="http://java.sun.com/xml/ns/persistence">
<persistence-unit name="DoDSRMGR">
    <jta-data-source>java:jboss/datasources/DoDSRDS</jta-data-source>
    <class>mil.army.amedd.dodsr.model.ManifestsPass1</class>
    <class>mil.army.amedd.dodsr.model.ManifestsPass2</class>
    <properties>
        <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
        <property name="javax.persistence.jtaDataSource" value="java:/DoDSRDS"/>
    </properties>
</persistence-unit>
  

И источник данных в standalone.xml неужели это:

 <datasource jndi-name="java:jboss/datasources/DoDSRDS" pool-name=" DoDSRDS " enabled="true" use-java-context="true">

<connection-url>jdbc:oracle:thin:@160.151.120.38:2115:apdb</connection-url>

<driver>oracle</driver>

<pool>

    <prefill>true</prefill>

    <use-strict-min>false</use-strict-min>

</pool>

<security>

    <user-name>username</user-name>

    <password>password</password>

</security>
  

Как мне развернуть эту штуку??

Ответ №1:

Может быть 2 потенциальных проблемы:

  • Имя источника данных в standalone.xml возможно, что-то не так или отсутствует.
  • Возможно, вам потребуется изменить
    <jta-data-source>java:jboss/datasources/DoDSRDS</jta-data-source>
    в persistence.xml чтобы
    <jta-data-source>java:/DoDSRDS</jta-data-source> .

Я бы сказал, что ваша основная проблема — номер 2, но номер 1 все еще может быть истинным (вы не указали определение имени в своем сообщении).

Обновить:

Если вам не нужно использовать имя jboss/datasources/DoDSRDS , я бы предложил просто использовать DoDSRS , т.е. jndi-name="java:/DoDSRDS" and <jta-data-source>java:/DoDSRDS</jta-data-source> .

Обновление 2:

Третьей проблемой могут быть пробелы в pool-name . Я не уверен, что они разрешены здесь, но, по крайней мере, это может вызвать проблемы, если вы ссылаетесь на пул по имени и не имеете точно такого же количества пробелов, поэтому я бы удалил их в любом случае.

Комментарии:

1. Я отредактировал вопрос, чтобы показать, что источник данных в standalone.xml соответствует тому, что из persistence.xml из: «java: jboss/ источники данных / DoDSRDS»

2. @Dean. Возможно, я не уверен в формате, но java:jboss это может быть проблемой (я не могу сейчас посмотреть руководство).

3. Странно, потому что это первое, что мне сказали в последнем опубликованном вопросе, что он должен содержать ссылку на jboss / datasources в именовании. Может ли тот факт, что в persistence.xml , У меня есть это: <persistence-unit name=»DoDSRMGR»> быть причиной?

4. @Dean. По умолчанию имя единицы сохранения не имеет значения. Я только что увидел, что в руководствах указано java:jboss/datasources , что это может быть нормально. Мы используем java:/DSName , и это работает, так что, по крайней мере, должно быть хорошо.

5. Спасибо, Томас, но тогда почему ошибка относится к отсутствующим иждивенцам DoDSRMGR. Должен ли я где-то это определять? Я очень новичок во всем этом и изо всех сил пытаюсь добиться успеха без чьей-либо помощи.