私はクラスをシングルトンとして作成しようとしています。
Beans.xml has this:
<bean id="LdapUti" class="com.amazon.bpmsawsproxy.util.LdapUtil" scope="singleton" />
LdapUtil class:
public class LdapUtil {
private static Log logger = LogFactory.getLog(LdapUtil.class);
public DirContext GetLdapDirContext() throws NamingException {
Hashtable<String, Object> env = new Hashtable<String, Object>(11);
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "*********");
env.put(Context.SECURITY_CREDENTIALS, "******");
env.put(Context.SECURITY_PROTOCOL, "ssl");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
DirContext ctx = new InitialLdapContext(env, null);
return ctx;}}
これはシングルトン クラスをテストするために書かれた単体テスト ケースです。
@Test
public void testSingleton(){
LdapUtil ctx1 = new LdapUtil();
LdapUtil ctx2 = new LdapUtil();
assertEquals(System.identityHashCode(ctx1), System.identityHashCode(ctx2));
}
単体テスト ケースから: 複数のインスタンスを作成していると思われる 2 つの異なるハッシュコードを取得しています。私が何かを逃した場合はお知らせください