Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ошибка при вызове функции get... EntityBean'а, JSP + SessionBean + EntityBean 
:(
    Опции темы
hariton594
Дата 8.10.2006, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 11.8.2006

Репутация: нет
Всего: 1



Я использу JBoss v 4.0.4
Есть EntityBean - PointsBean (Points - локальный интерфайс). Есть SessionBean - HaritonBean, с методом getPoints():
Код

public Collection getPoints() {
        PointsHome pointsHome = null;

        Properties props = new Properties();
        props.put(Context.INITIAL_CONTEXT_FACTORY,
                  "org.jnp.interfaces.NamingContextFactory");
        props.put(Context.PROVIDER_URL, "localhost:1099");

        Collection col = null;

        try {
            Context ctx = new InitialContext(props);
            Object obj = ctx.lookup("Points");

            pointsHome = (PointsHome) PortableRemoteObject.narrow(
                    obj, PointsHome.class);

            col = pointsHome.findAllPoints();
        } catch (Exception e) {
            System.out.println(e.toString());
        }
        return col;
    }


Есть JSP, использующая HaritonBean
Код

<html>
<head>
<title> with JBoss </title>
</head>
<%@ page import="firstejb.*" %>
<%@ page import="javax.naming.*" %>
<%@ page import="java.util.*" %>
<%@ page import="javax.rmi.*" %>

<body>
<h1>
<%
  Properties props = new Properties();
  props.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
  props.put(Context.PROVIDER_URL, "localhost:1099");
  try {
    Context ctx = new InitialContext(props);
    Object obj  = ctx.lookup("HaritonBean");
    
    HaritonHome rhome = (HaritonHome) PortableRemoteObject.narrow(obj, HaritonHome.class);
    Hariton rhello = rhome.create();
    
    Iterator iter = rhello.getPoints().iterator();
    
    while (iter.hasNext()) {
      Points point = (Points)iter.next();
      
      out.println(point.getName());
    }
    
    
    rhello.remove();
  } catch(Exception e) {
    out.println(e.toString());
    
  }
%>
</h1>
</body>
</html>


При  отображении JSP вылезает ошибка:
Код

 EJBException in method: public abstract java.lang.String firstejb.Points.getName():
javax.ejb.EJBException: Invalid invocation, check your deployment packaging, method=public abstract java.lang.String firstejb.Points.getName()
    at org.jboss.ejb.EntityContainer$ContainerInterceptor.invoke(EntityContainer.java:1167)
    at org.jboss.ejb.plugins.cmp.jdbc.JDBCRelationInterceptor.invoke(JDBCRelationInterceptor.java:87)
    at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invoke(EntitySynchronizationInterceptor.java:284)
    at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
...


Что делать - не знаю. Протестировал удаленным клиентом - все работает
PM MAIL   Вверх
tux
Дата 8.10.2006, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Летатель
***


Профиль
Группа: Участник Клуба
Сообщений: 1853
Регистрация: 10.2.2005
Где: msk.ru

Репутация: 74
Всего: 132



Возможно, проблема том, что EJB-контейнер и веб-контейнер (Tomcat) загружают классы, используя разные класслоудеры. Попробуй в файлике JBOSS_HOME/server/default/deploy/jbossweb-tomcat55.sar/META-INF/jboss-service.xml установить параметр UseJbossWebLoader в значение true. Это заставит Tomcat использовать общий с контейнером EJB загрузчик классов, а не свой собственный. Еще почитай вот эту статью, возможно в ней найдешь решение если мой совет не поможет.
PM MAIL Skype GTalk Jabber YIM   Вверх
hariton594
Дата 8.10.2006, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 11.8.2006

Репутация: нет
Всего: 1



Спасибо за ответ, параметр паменял, но прбюлема осталась.Сейчас буду разбираться со статейкой
PM MAIL   Вверх
hariton594
Дата 8.10.2006, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 11.8.2006

Репутация: нет
Всего: 1



Огромное спасибо. Поменял параметр на true  - все работает, только раньше WebModule и EJBModule были запакованы в ear-архив, теперь они раздельно
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0595 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.