0

Web サービス自体の静的初期化子よりも、Tomcat サーバー上の Web サービス (METRO 2.0) で EntityManagerFactory を取得/インスタンス化するためのより良い方法/場所はありますか?

@WebService
public class TestWebService {

    private static EntityManagerFactory entityManagerFactory;

    static
    {
        entityManagerFactory = Persistence.createEntityManagerFactory("TestWSPU");
    }

    @WebMethod
    public List<User> getUsers() {
        EntityManager em = entityManagerFactory.createEntityManager();

        List<User> users = em.createQuery("from User u", User.class).getResultList();

        em.close();

        return users;
    }
}
4

1 に答える 1

2

プレーンな Tomcat (たとえば、TomEE ではない) を使用している場合は、aServletContextListenerを使用して EMF を作成し、それをシングルトンに入れることができます。次に、そのシングルトンから、メソッドを公開してEntityManager.

于 2013-07-17T21:43:48.830 に答える