0

データベースのプロパティを管理するシングルトン クラスを実装しようとしています。ただし、データベース Bean を注入しようとすると nullPointerException が発生します。これが私のコードです:

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.ejb.EJB;
import javax.ejb.Stateless;
..

@Stateless
public class Properties {

    public static volatile Properties instance;
    private static Map<String, String> properties = new HashMap<String, String>();

    @EJB(WHAT_TO_DO_HERE)
    private DatabasePersisterLocal databasePersister;

    public static Properties getInstance() {
        if (instance == null) {
            synchronized (Properties.class) {
                if (instance == null) {
                    instance = new Properties();
                }
            }
        }

        return instance;
    }

    private Properties() {
        System.out.println("starting");
        System.out.println(databasePersister); //null

        //initializing
    }
}

プロジェクトを jar としてエクスポートしています。後で のインスタンスを取得しようとすると、それPropertiesstarting印刷され、次にnullPointerException. 他のプロジェクトから同じ EJB (DatabasePersisterLocal) を注入しようとしても、エラーは発生しません。私は何を間違っていますか?

4

1 に答える 1