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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Glassfish+Lifecycle+EJB3+RMI, Запустить таймер с загрузкой Glassfish 
:(
    Опции темы
temonix
Дата 5.12.2007, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Стоит задача зупустить таймер со стартом glassfish

Имеется Glassfish, в нем stateless bean TimerBean
Код

package beans;

import entities.Config;
import javax.annotation.Resource;
import javax.ejb.Stateless;
import javax.ejb.Timeout;
import javax.ejb.Timer;
import javax.ejb.TimerService;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

@Stateless
public class TimerBean implements beans.TimerRemote, beans.TimerLocal {
    @Resource
    TimerService timerService;
    
    @PersistenceContext
    EntityManager em;
    
    public TimerBean() {
    }
    
    public void setTimer() {
        Timer timer = timerService.createTimer( 5, 5, null );
    }
    
    @Timeout
    public void timeout(Timer timer) {
        Config config = new Config();
        config.setName("one");
        config.setValue("1");
        em.persist(config);
    }
    
}


и 2 интерфейса TimerLocal и TimerRemote:
Код

package beans;

import javax.ejb.Remote;
import javax.ejb.Timeout;
import javax.ejb.Timer;


@Remote
public interface TimerRemote {

    @Timeout
    void timeout(Timer timer);

    void setTimer();
    
}


Код

package beans;

import javax.ejb.Local;


/**
 * This is the business interface for Timer enterprise bean.
 */
@Local
public interface TimerLocal {
    void setTimer();
    
}


Создал lifecycle модуль для Glassfish. Модуль glassfish'eм находится и запускается, проблема в rmi, немогу найти bean в ejb3 чтобы запустить таймер.

Код

import com.sun.appserv.server.LifecycleEvent;
import com.sun.appserv.server.LifecycleEventContext;
import com.sun.appserv.server.LifecycleListener;
import com.sun.appserv.server.ServerLifecycleException;
import java.util.Properties;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.rmi.PortableRemoteObject;

public class setiLifecycleListener implements LifecycleListener {
    
    public setiLifecycleListener() {
    }

    public void handleEvent(LifecycleEvent lifecycleEvent) throws ServerLifecycleException {
        LifecycleEventContext lfcECtx = lifecycleEvent.getLifecycleEventContext();
        
        lfcECtx.log("lifecycle event type " + String.valueOf(lifecycleEvent.getEventType()));
        if(lifecycleEvent.getEventType() == LifecycleEvent.READY_EVENT){
            InitialContext ctx = lifecycleEvent.getLifecycleEventContext().getInitialContext();
            
            TimerRemote timerBean = null;
            lfcECtx.log("begin lookup");
            try {
                timerBean = (TimerRemote) ctx.lookup("setiee-ejb.TimerRemote");
            } catch (NamingException ex) {
                ex.printStackTrace();
                return;
            }
            lfcECtx.log("end lookup");
            timerBean.setTimer();
        }
    }
}



Как вообще найти bean в EJB3 через RMI в контексте моей задачи ( или хотябы просто так ). Если другие идеи?
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.0556 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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