JBoss не распознает EJB банку внутри EAR - PullRequest
0 голосов
/ 22 апреля 2011

Я пытаюсь развернуть простой тестовый EAR, содержащий проект EJB, в JBoss AS 6.

Я копирую свой EAR-файл в каталог JBOSS_HOME / server / default / deploy. Я вижу, как мой SUP.ear отображается в консоли администратора JBoss AS 6 под Enterprise Application (EAR) s , но я НЕ вижу, как EJB3 jar отображается под Встроенные JAR EJB3, Я не вижу загрузки бинов в консоли JBoss и не могу получить к ним доступ.

Я попытался загрузить учебники по JBoss с www.manning.com/panda и создал и развернул пример главы 1, и эти компоненты загружаются нормально, и я могу без проблем получить к ним доступ от клиента ...

Вот структура моего файла EAR:

SUP.ear
|--META-INF
  |--application.xml
  |--jboss-app.xml
  |--MANIFEST.MF
|--SUP-ejb.jar
  |--com
    |--tomtresansky
      |--sup
        |--server
          |--ejb
            |--CalculatorBean.class
            |--CalculatorLocal.class
            |--CalculatorRemote.class
  |--META-INF
    |--MANIFEST.MF

Application.xml:

<?xml version="1.0"?>
<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN" "http://java.sun.com/j2ee/dtds/application_1_2.dtd">
<application>
  <display-name>SUP</display-name>
  <module>
    <ejb>SUP-ejb.jar</ejb>
  </module>
</application>

JBoss-app.xml:

<!DOCTYPE jboss-app PUBLIC "-//JBoss//DTD J2EE Application 1.4//EN" "http://www.jboss.org/j2ee/dtd/jboss-app_4_0.dtd">
<jboss-app>
  <loader-repository>SUP:app=ejb3</loader-repository>
</jboss-app>

Оба файла MANIFEST.MF выглядят так:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.6.0_24-b07 (Sun Microsystems Inc.)

Классы создаются из следующих исходных файлов:

CalculatorBean.java:

package com.tomtresansky.sup.server.ejb;

import javax.ejb.Stateless;

@Stateless
public class CalculatorBean implements CalculatorRemote, CalculatorLocal {
  @Override
  public int add(final int x, final int y) {
    return x + y;
  }

  @Override
  public int subtract(final int x, final int y) {
    return x - y;
  }
}

CalculatorLocal.java:

package com.tomtresansky.sup.server.ejb;

import javax.ejb.Local;

import com.tomtresansky.sup.shared.Calculator;

@Local
public interface CalculatorLocal extends Calculator {
}

CalculatorRemote.java:

package com.tomtresansky.sup.server.ejb;

import javax.ejb.Remote;

import com.tomtresansky.sup.shared.Calculator;

@Remote
public interface CalculatorRemote extends Calculator {

}

1 Ответ

1 голос
/ 23 апреля 2011

Ну, нашел ответ ... Я не включил com.tomtresansky.sup.shared.Calculator интерфейс в SUP-ejb.jar.

Было бы неплохо, если бы JBoss предоставил какое-то сообщение об ошибкепропущенный тип ...

...