发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA
1 2 下一页 Go 2

关于Singleton的使用。

    
2004-03-04 15:04
赞助商链接


public static ServiceLocator getInstance() throws NamingException {
if (instance == null) {
Properties props = getClusterCfg();
instance = new ServiceLocator(props.getProperty("url"),props.getProperty("user"),props.getProperty("pwd"));
}
return instance;
}


// 在此输入java代码

如上所示,我如果不对这个方法synchronized,是否就可以让它同时作为EJB和web层的服务查找。而不用像petstore那样在ejb和web分别放一个servicelocator?

2004-03-04 16:07

自己定一下

2004-03-05 08:51

建议使用


private static ServiceLocator instance;
static {
instance = ...;
}


这样你的方法就不需要同步了,只要return instance;就好了。

2004-03-05 09:58

谢谢您的回复*^-^*
您说的正是petstore的web层所使用的
但是,它的servicelocator在web层和ejb层是不同的
因为在ejb层是忌讳用Singleton的。所以,我在写这个ServiceLocator的时候就想只写一个ServiceLocator,同时在ejb层和web层使用。
所以,我把banq先生说的那个需要注意的synchronized给去掉了,这样在ejb层是不是也可以创建多个实例了?

这样会不会有问题?

2004-03-05 10:05

确切的说,是创建了多个实例,不过这是一种浪费。

2Go 1 2 下一页

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系反馈 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com