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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> EJB через Remote Interface 
V
    Опции темы
polosatij
  Дата 11.1.2009, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: 3
Всего: 8




хочу достать Stateless Session Bean через Remote Interface.
сам Stateless Bean выглядит сл. образом:

Код

@Stateless
@LocalBinding(jndiBinding = "StaticDataParserServiceLocale")
@RemoteBinding(jndiBinding = "StaticDataParserServiceRemote")
public class StaticDataParserService implements IStaticDataParserServiceLocal, IStaticDataParserServiceRemote {
...


сам код Standalone приложения:

Код

package de.comsoft.cadas_ims.parsing_with_logic;

import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NameClassPair;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;

import de.comsoft.cadas_ims.services.parser.IStaticDataParserService;

public class HelloTest {

    IStaticDataParserService hellobean;

    public HelloTest() {
        try {
            final Context jndiContext = getInitialContext();

//            final InitialContext ctx = getInitialContext();
//            System.out.println("Liste der Namen im JNDI-Context:");
//            showJndiContext(ctx, "", "");
//            ctx.close();

             System.out.println(jndiContext.lookup("java:StaticDataParserServiceRemote"));
            // final NamingEnumeration ne =
            // jndiContext.listBindings(StaticDataParserService.getLookupName());
            //
            // while(ne.hasMore()) {
            // System.out.println(ne.next());
            // }
            //
            //
            // System.out.println(jndiContext.lookup("java:comp/env/ejb/" +
            // StaticDataParserService.getLookupName()));

            // final IStaticDataParserServiceLocal staticDataParser =
            // (IStaticDataParserServiceLocal)
            // NameResolver.lookupSessBean(StaticDataParserService.getLookupName());

            // final Object ref =
            // jndiContext.lookup("java:comp/env/ejb/HelloEJB3");
            // hellobean = (IStaticDataParserService) ref;
        } catch (final javax.naming.NamingException ne) {
            ne.printStackTrace();
        }
    }

    public static void showJndiContext(final InitialContext pCtx, final String pName, final String pSpace) {

        try {
            final NamingEnumeration en = pCtx.list(pName);
            while (en.hasMoreElements()) {
                final String delim = (null != pName && 0 < pName.length()) ? "/" : "";
                final NameClassPair nc = (NameClassPair) en.next();
                System.out.println(pSpace + pName + delim + nc);
                if (40 > pSpace.length()) {
                    showJndiContext(pCtx, nc.getName(), "    " + pSpace);
                }
            }
        } catch (final javax.naming.NamingException ex) {
            ex.printStackTrace();
        }
    }

    protected void sayHello() {
        System.out.println("***" + hellobean.sayHello());
    }

    public static void main(final String[] args) {
        final HelloTest helloClient = new HelloTest();
        // helloClient.sayHello();
    }

    /**
     * This is vender dependency.
     *
     * @return initial context.
     * @throws javax.naming.NamingException
     */
    public static InitialContext getInitialContext() throws NamingException {
        final Properties p = new Properties();
        p.put(Context.INITIAL_CONTEXT_FACTORY,
                "org.jnp.interfaces.NamingContextFactory");
        p.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
        p.put(Context.PROVIDER_URL, "jnp://localhost:1099");
        return new InitialContext(p);
    }

}


ошибка:

Код

javax.naming.NameNotFoundException: StaticDataParserServiceRemote not bound
    at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
    at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
    at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
    at org.jnp.server.NamingServer.lookup(NamingServer.java:296)
    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:625)
    at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:587)
    at javax.naming.InitialContext.lookup(InitialContext.java:351)
    at de.comsoft.cadas_ims.parsing_with_logic.HelloTest.<init>(HelloTest.java:26)
    at de.comsoft.cadas_ims.parsing_with_logic.HelloTest.main(HelloTest.java:72)


не могу найти в jmx-console jndi имя моего StaticDataParserService бина.. Бин задеплоился и работает через локальный интерфейс.. только вот lookup там написан на нашем сервере руками, а люди его написавшие придут лишь завтра.. где или как можно найти jndi имя моего бина?

Это сообщение отредактировал(а) polosatij - 11.1.2009, 13:29


--------------------
PM   Вверх
ivg
Дата 11.1.2009, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Autonomous R&D
**


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

Репутация: 32
Всего: 81



А так?:
Код

26:             System.out.println(jndiContext.lookup("StaticDataParserServiceRemote"));

Цитата(polosatij @  11.1.2009,  15:27 Найти цитируемый пост)
не могу найти в jmx-console jndi имя моего StaticDataParserService бина..

service=JNDIView -> operation java.lang.String list(); -> [invoke]
PM MAIL   Вверх
powerOn
Дата 11.1.2009, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

Репутация: 28
Всего: 159



Цитата(polosatij @  11.1.2009,  13:27 Найти цитируемый пост)
@LocalBinding(jndiBinding = "StaticDataParserServiceLocale")
@RemoteBinding(jndiBinding = "StaticDataParserServiceRemote")


по спецификации, нужно использовать аннотацию @javax.ejb.Remote и соответствующий интерфейс для того что бы зарегистрировать бин в  JNDI.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
polosatij
  Дата 12.1.2009, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: 3
Всего: 8




проблему решил.. бин ны был задеплоен.. smile

пасиб всем  smile 

Цитата(ivg @  11.1.2009,  19:37 Найти цитируемый пост)
service=JNDIView -> operation java.lang.String list(); -> [invoke] 


угу.. нашёл вчера, пасиб  smile 


--------------------
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0424 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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