EJB. NoClassDefFoundError: IStatelessBean

 
 
 
Сообщения:53
Добрый день!

@Stateless
public class StatelessBean implements IStatelessBean {

    public void setState(Integer state) {
        this.state = state;
    }

    private Integer state = 0;


    @Override
    public Integer getState() {
        return state;
    }
}

@Remote
public interface IStatelessBean {

    void setState(Integer i);
    Integer getState();

}


Деплою бины в glassfish, никаких ошибок, все норм работает.

Теперь вызываю их так(это клиент. Архив клиента состоит из раннера и трэдов) :
Это главный раннер:
    public static void main(String[] args) throws InterruptedException {

        List<Thread> threads = new ArrayList<Thread>();

        for (int i = 0; i < 1; i++) {
            Runnable task = new someClient(i);
            Thread worker = new Thread(task);

            worker.setName("client" + String.valueOf(i));

            worker.start();

            threads.add(worker);
        }
        int running = 0;
        do {
            running = 0;
            for (Thread thread : threads) {
                if (thread.isAlive()) {
                    running++;
                }
            }
            System.out.println("We have " + running + " running threads. ");
        } while (running > 0);

    }


Вот используемые треды :

public class someClient  implements Runnable {

    @EJB
    private IStatelessBean bean;

    Integer personalId;

    public someClient(Integer i) {
        this.personalId = i;
    }

    @Override
    public void run() {

        try {

            System.out.println("Beginning new thread with id= " + personalId);
            for (int i = 0; i < 10; i++) {

               System.out.println("client " + personalId + " set " + i);
                bean.setState(i);

                System.out.println("client " + personalId + " get " + bean.getState());
            }
        }catch (Exception e){
            System.out.println("ololo");
            System.exit(3);
        }

    }
}


Вызываю клиента с помощь appclient, все проходит норм. Но вот почему-то вызов bean.getState() приводит к исключению! NoClassDefFoundError: IStatelessBean
Почему именно этот метод генерирует исключение???
Изменен:28 мая 2014 11:26
 
Модераторы:wedens
Сейчас эту тему просматривают:Нет