0

REST サービス (glassfish 3.2 サーバーで jersey を使用) 内に EJB を注入する際に問題があり、困惑しています。

次のように宣言された EJB インターフェースがあります。

import javax.ejb.Local;

@Local
public interface TestServiceLocal {

    public String getText();
}

およびそれを実装するクラス Bean:

import javax.ejb.Local;
import javax.ejb.Stateless;

/**
 * Session Bean implementation class TestService
 */
@Stateless
@Local(TestServiceLocal.class)
public class TestService implements Serializable, TestServiceLocal {

    private static final long serialVersionUID = 1L;

    /**
     * Default constructor.
     */
    public TestService() {
        // TODO Auto-generated constructor stub
    }

    @Override
    public String getText() {
        return this.getClass().getName();
    }

}

REST サービスは次のようになります。

@Path("/service")
@Stateless
public class TestRestService {

    @EJB(beanName="TestService")
    private TestServiceLocal testService;

    public TestRestService () {
    }

    @GET
    @Produces(MediaType.TEXT_PLAIN)
    @Path("/events")
    public String getText() {
        return testService.getText();
    }
}

問題は、REST サービスが呼び出されたときに Bean を作成できないことです。

SEVERE: EJB5070: Exception creating stateless session bean : [TestRestService]
WARNING: EJB5184:A system exception occurred during an invocation on EJB TestRestService, method: public java.lang.String TestRestService.getText()
WARNING: javax.ejb.EJBException: javax.ejb.EJBException: javax.ejb.CreateException: Could not create stateless EJB
    at com.sun.ejb.containers.StatelessSessionContainer._getContext(StatelessSessionContainer.java:454)
    at com.sun.ejb.containers.BaseContainer.getContext(BaseContainer.java:2547)
    at com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1899)
    at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
    at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
    at com.sun.proxy.$Proxy839.getText(Unknown Source)

ここに投稿された回答をすでに見ましたが、どれもうまくいかないようでした。どんな助けでも大歓迎です。ありがとうございました!

PS: 言及するのを忘れていました (関連性があるかどうかはわかりません)。私のプロジェクトは、動的 Web プロジェクトとして eclipse Juno の下で作成されます。

4

0 に答える 0