领导力大挑战
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
该内容已经被标记书签!
标记书签错误,请重试!
作者 张龙 发布于 2011年1月9日
不久前,JBoss发布了新版本的JBoss AS 6应用服务器,该新版本提供了对Java EE 6 Web Profile的完整支持。David Salter则在自己的博客中详细介绍了EJB 3.1的新特性。
EJB 3.1的3个主要新特性是:
下面分别来看看这3个新特性。
EJB可以作为WAR文件的一部分部署。
如果使用NetBeans进行开发,那么你可以创建一个简单的Java EE 6 Web项目,然后在该Web项目内创建EJB。如果开发的是Web项目,那么无需添加额外的JAR文件就可以部署任何EJB。
可以开发无业务接口的EJB
创建无业务接口的EJB就像创建POJO一样简单。现在,可以像下面的代码一样定义EJB:
package com.davidsalter.ejb31test;
import javax.ejb.Stateless;
@Stateless
public class HelloSessionBean {
public String sayHello() {
return "Hi there !!";
}
}
与POJO唯一的差别在于该类使用了注解@Stateless,这表明它是一个Stateless Session Bean。
如果将包含该EJB的WAR文件部署到JBoss中,那么在部署成功后我们会在JBoss控制台上看到如下消息:
21:08:29,653 INFO [org.jboss.ejb3.nointerface.impl.jndi.AbstractNoInterfaceViewBinder] Binding the following entry in Global JNDI for bean:HelloSessionBean
HelloSessionBean/no-interface -> EJB3.1 no-interface view
从Web项目中调用EJB是相当简单的事情。我们可以使用@EJB注解将EJB注入到Servlet中。如下代码所示:
public class HelloServlet extends HttpServlet {
@EJB
HelloSessionBean helloSessionBean;
...
PrintWriter out = response.getWriter();
out.println(helloSessionBean.sayHello());
可以将EJB部署为Singleton
现在,可以通过@Singleton注解将EJB声明为Singleton。如果使用@PostConstruct与@PreDestroy注解,那么就可以在该Singleton上轻松实现任意的初始化与清理动作了。被@PostConstruct所注解的方法会在该Singleton首次构造之后得到调用,比如说当调用了Singleton的某个Servlet或是某个JSF的backing bean首次加载时。被@PreDestroy所注解的方法会在该Singleton销毁前得到调用,因此该方法可用于执行资源清理操作。
以这种方式定义Singleton可用于存储应用的多个客户端所需要的数据,如下代码所示:
package com.davidsalter.ejb31test;
import java.util.Date;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.ejb.Singleton;
@Singleton
public class SingletonSessionBean {
private String creationDate;
@PostConstruct
public void init() {
System.out.println("Initialize singleton");
creationDate = new Date().toString();
}
@PreDestroy
public void shutdown() {
System.out.println("Shutting down singleton");
}
public String getDate() {
return creationDate;
}
}
调用Singleton与之前调用Session Bean一样简单,如下代码所示:
@EJB SingletonSessionBean singletonSessionBean;
感兴趣的读者可以从这里下载完整的示例代码并实际运行。
张龙 热衷于编程,乐于分享,对新技术有强烈的探索欲,对Java轻量级框架有一定研究。
在实施Scrum项目的过程中,Scrum Master的角色是相当关键的,因为他是团队的推动者。本文围绕什么是仆人式领导、仆人式领导的起源、如何将领导力传达给团队、Scrum Master作为仆人式领导者的角色展开叙述,同时重点阐述仆人式领导者应有的基本内外特征。
论道WP第三篇专栏,以应用程序栏的使用为中心,包括了软键盘带来的问题、应用程序栏介绍、如何绑定应用程序栏的属性等几个方面的具体话题,为开发者顺利使用应用程序栏开发提供了具体指导。
在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,有些情况下它并不那么重了,本文详细介绍了Java SE1.6中对于锁的性能优化,以及锁的存储结构及升级过程。
本次分享将首先介绍现代富文本编辑器的组成和实现,然后结合UEditor的开发过程,与参会者分享UEditor在设计和实现的过程中,所涉及到的核心功能的细节实现。
本次演讲视频录制于百度技术沙龙。
我们所开发的应用程序大多都需要提供一个图形用户界面(GUI)。关于GUI应用的架构设计,已经有了Form & Control、MVC,、MVP、 Passive View等多种模式。模式可以帮助我们建立优雅的架构,但前提是弄清楚模式的应用场景。弄清楚GUI应用面临的设计上的问题,有助于我们正确的挑选设计方案。
MongoDB是一种非常易用的NoSQL方案,Brian C. Dilley在这篇文章里介绍了MongoDB的优劣势,并介绍了MJORM项目。MJORM用于MongoDB,是一个没有注解的Java ORM库。
随着网络基础设施的逐步成熟,从RPC进化到Web Service,并在业界开始普遍推行SOA,再到后来的RESTful平台以及云计算中的PaaS与SaaS概念的推广,分布式架构在企业应用中开始呈现出不同的风貌,然而殊途同归,这些分布式架构的目标仍然是希望回到建造巴别塔的时代,系统之间的交流不再为不同语言与平台的隔阂而产生障碍。
没有回复
关注此讨论 回复