Поиск с помощью аннотации в Weblogic - PullRequest
1 голос
/ 07 апреля 2011

Я использую EJB3.0, Weblogic 11g

Я пытаюсь выполнить простой поиск от сервлета до Statelessbean и запустить там метод. оба под одним и тем же EAR. Мне удалось сделать это с Jboss. но я знаю, что в Weblogic он немного отличается, поэтому я изменил свой код, и это то, что я делаю, и до сих пор не получилось:

Интерфейс, который я объявил:

 @Local
 public interface OperatorBlockBeanLocal
 {
    public void testme();

 }

Это класс, который реализует интерфейс:

@Stateless
@Local{ OperatorBlockBeanLocal.class })


@JNDIName(value = "OperatorBlockBean")


 public class OperatorBlockBean implements OperatorBlockBeanLocal
 {
    public void testme()
 {
    System.out.println("OperatorBlockBean");
 }
 }

А это тот сервлет, который пытается найти бин, который я объявил ранее:

try
    {
        context = new InitialContext();

        operatorBlockBean = (OperatorBlockBeanLocal) context
                .lookup("java:comp/env/OperatorBlockBean");
        operatorBlockBean.testme();
    } catch (NamingException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

Конечно, я получаю NamingException. У кого-нибудь есть идеи?

спасибо, лучей.

1 Ответ

0 голосов
/ 07 апреля 2011

Попробуйте использовать

@Stateless(mappedName="OperatorBlockBean")
@Local{ OperatorBlockBeanLocal.class }
public class OperatorBlockBean implements OperatorBlockBeanLocal

Вы также можете использовать EJB-инъекцию в своем сервлете и не выполнять поиск.Вот как:

@EJB OperatorBlockBeanLocal operatorBlockBean;

EJB будет введен, поэтому вам не нужно искать.

...