Tag: singleton

使用枚举的单身人士

我在stackoverflow上阅读了很多关于使用enum创建单例类的知识。 我一定错过了一些东西,因为我无法在任何地方到达INSTANCE。 这是我的代码: public class UserActivity { private DataSource _dataSource; private JdbcTemplate _jdbcTemplate; static enum Singleton { INSTANCE; private static final UserActivity singleton = new UserActivity(); public UserActivity getSingleton() { return singleton; } } public UserActivity() { this._dataSource = MysqlDb.getInstance().getDataSource(); this._jdbcTemplate = new JdbcTemplate(this._dataSource); } public void dostuff() { … } } 在外面,我正在尝试做 UserActivity.INSTANCE.getSingleton() 要么 […]

群集单身人士使用Wildfly?

我正在尝试在Wildfly 8.2上创建一个简单的集群Singleton 。 我已经配置了2个Wildfly实例,在独立的集群配置中运行。 我的应用程序已部署到两者,我可以毫无问题地访问它。 我的集群EJB看起来像这样: @Named @Clustered @Singleton public class PeekPokeEJB implements PeekPoke { /** * Logger for this class */ private static final Logger logger = Logger .getLogger(PeekPokeEJB.class); private static final long serialVersionUID = 2332663907180293111L; private int value = -1; @Override public void poke() { if (logger.isDebugEnabled()) { logger.debug(“poke() – start”); //$NON-NLS-1$ } […]

使单例成为Spring bean的正确方法

我正在将单例转换为Spring bean,因此如果单例无法初始化,则整个Web应用程序的spring上下文无法正确加载。 使Spring上下文无法正确加载的优点是人们会在部署期间注意并修复配置。 与使用’非spring bean’单例相反:当在初始化期间抛出exception时,没有人注意到……直到实际用户抱怨缺少function。 我的改变正在按预期进行..但我不确定我是否做了正确的事情。 有什么想法吗? 代码如下所示: public class MySingleton { private static MySingleton INSTANCE = null; private MySingleton(){} public static MySingleton getInstance(){ if(INSTANCE == null){ synchronized(MySingleton.class){ if(INSTANCE == null){ try{ doWork() }catch(Exception e){ throw new IllegalStateException(“xyz”, e); } INSTANCE = new MySingleton(); } } } return INSTANCE; } private static void doWork() { […]

春季默认范围是单身吗?

你能否解释为什么Spring为下面显示的bean配置创建了两个对象,因为默认情况下spring默认范围是singleton? Spring配置在这里:

Java Web服务中的Singleton对象

早上好,我正在开发一个公开Web服务接口的java Web应用程序。 为了将全局对象保留在内存中,我将以下类用作Singleton: public class SingletonMap { private static final SingletonMap instance = new SingletonMap(); private static HashMap couponMap = null; private static long creationTime; private SingletonMap() { creationTime = System.currentTimeMillis(); couponMap = new HashMap(); } public static synchronized SingletonMap getInstance() { return instance; } public static long getCreationTime() { return creationTime; } } 我正在使用上面的类,以便为Web服务的所有线程提供相同的HashMap实例。 […]

从Java访问scala.None

你怎么能从Java访问scala.None ? 最后一行导致编译器死于“类型scala.None不接受参数”。 import scala.Option; import scala.Some; import scala.None; final Option object1 = new Some(“Hi there”); final Option object2 = new None(); 这失败了“无法找到符号构造函数None()”: final Option object2 = new None(); 这失败了“找不到符号变量无”: final Option object2 = None; 在2007年,这曾经工作,但随后Scala改变了。 Java编译器给出error: incompatible types : final Option object2 = scala.None$.MODULE$;

使用双锁时使单例实例易变的重点是什么?

private volatile static Singleton uniqueInstance 在单独使用双锁方法进行同步时,为什么单个实例声明为volatile? 我可以在不将其声明为volatile的情况下实现相同的function吗?

如何在java中使用枚举的线程安全性?

如何在java中使用枚举的线程安全性? 我正在使用枚举实现一个Singleton(根据Bloch的Effective Java),我应该担心我的单例枚举的线程安全吗? 有没有办法certificate或certificate它是线程安全的? // Enum singleton – the preferred approach public enum Elvis { INSTANCE; public void leaveTheBuilding() { … } } 谢谢

java中延迟线程安全单例实例化的模式

懒惰的线程安全单例实例对每个编码器来说都不容易理解,所以我想在我们的企业框架中创建一个可以完成工作的类。 你怎么看待这件事? 你觉得它有什么坏处吗? 在Apache Commons中有类似的东西吗? 我怎样才能让它变得更好? Supplier.java public interface Supplier { public T get(); } LazyThreadSafeInstantiator.java public class LazyThreadSafeInstantiator implements Supplier { private final Supplier instanceSupplier; private volatile T obj; public LazyThreadSafeInstantiator(Supplier instanceSupplier) { this.instanceSupplier = instanceSupplier; } @Override // http://en.wikipedia.org/wiki/Double-checked_locking public T get() { T result = obj; // Wikipedia: Note the usage of […]

如何使用Mockito / Powermock模拟枚举单例类?

我不确定如何模拟枚举单例类。 public enum SingletonObject{ INSTANCE; private int num; protected setNum(int num) { this.num = num; } public int getNum() { return num; } 我想在上面的例子中存根getNum(),但我无法弄清楚如何模拟实际的SingletonObject类。 我认为使用Powermock准备测试会有所帮助,因为枚举本身就是最终的。 //… rest of test code @Test public void test() { PowerMockito.mock(SingletonObject.class); when(SingletonObject.INSTANCE.getNum()).thenReturn(1); //does not work } 这是使用PowerMockMockito 1.4.10和Mockito 1.8.5。