私たちはJava beanを構築/挿入するためにspringを使用します。ここでは、スニペット:Beanが唯一、常に私は問題がある可能性が疑う同じですいくつかのプロパティを読んでいるので関数/コンストラクタ引数を持つシングルトンを作成する(例えば、注入などに便利です)
<bean id="myAppConfigs" class="my.cool.webapp.ApplicationConfig" scope="singleton">
<constructor-arg value="8080" />
<constructor-arg value="MyAppName1" />
</bean>
我々は
public static ApplicationConfig getCurrentInstance(ServletContext sctx) {
if (instance == null) {
WebApplicationContext wac = null;
if (sctx != null) {
wac = WebApplicationContextUtils.getWebApplicationContext(sctx);
}
return (ApplicationConfig) wac.getBean("myAppConfigs");
にシングルトンパターンを使用しています。しかし、私はそれを実装する素晴らしいスレッド安全な方法についてはまだ興味があります もちろん、スレッドセーフであるDouble Checked Locking with usage of volatileがあります。 しかし、Initialization on demand holder idiomを関数/コンストラクタ引数と共に使用する別の方法がありますか?
これはJSFとどのくらい正確に関連していますか? – BalusC