1

EJB3.0、Weblogic11gを使用しています

サーブレットからステートレスビーンへの単純なルックアップを実行し、そこでメソッドを実行しようとしています。両方とも同じ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");
 }
 }

これは、前にデカールしたBeanを検索しようとしているサーブレットです。

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が発生します。誰かが何か考えを持っていますか?

ありがとう、レイ。

4

1 に答える 1

0

使ってみてください

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

サーブレットでEJBインジェクションを使用して、ルックアップを実行しないこともできます。方法は次のとおりです。

@EJB OperatorBlockBeanLocal operatorBlockBean;

EJBが挿入されるため、ルックアップを実行する必要はありません。

于 2011-04-07T15:40:18.330 に答える