您好,登錄后才能下訂單哦!
這篇文章的內(nèi)容主要圍繞EJB3.1新特性有哪些進(jìn)行講述,文章內(nèi)容清晰易懂,條理清晰,非常適合新手學(xué)習(xí),值得大家去閱讀。感興趣的朋友可以跟隨小編一起閱讀吧。希望大家通過這篇文章有所收獲!
1.取消接口
EJBContainer直接公布javaBean的Public方法,客戶端使用通過@EJB注入。
2.引入Singletonsinessionbean.
通過@Singleton標(biāo)記該SessionBean為Singleton。在該Container只有一例。
對(duì)于SingletonSessionBean的并行訪問問題,有兩種控制機(jī)制CMC(Container-managedconcurrency)容器管理的并行機(jī)制和
BMC(Bean-managedconcurrency),Bean管理的并行機(jī)制。默認(rèn)容器管理并行機(jī)制。
在并行訪問的控制上,使用了Readandwrite機(jī)制,通過@Lock(READ)@Lock(WRITE)。默認(rèn)為WRITE機(jī)制,方法只能并一個(gè)
Client訪問。
3.Asynchronous調(diào)用
EJB3.1激動(dòng)人心的Feature。通過@Asynchronous是該方法可以異步調(diào)用。在Client端,通過JDKConcurrency包的Future模式
(Future
4.規(guī)范了JNDInames
以往,不同的Vendor有不同的定義,現(xiàn)在統(tǒng)一了,格式如下:
java:global[/]/
packagenet.blogjava.vincent;
@Singleton
publicclassBeanA{(...)}
下面的JDNI是都是合理的
-java:global/myapp/mybeans/BeanA
-java:global/myapp/mybeans/BeanA!net.blogjava.vincent
-java:app/mybeans/BeanA
-java:app/mybeans/BeanA!net.blogjava.vincent.BeanA
-java:module/BeanA
-java:module/BeanA!net.blogjava.vincent.BeanA
5.提供了更強(qiáng)大的Time服務(wù)。
這一塊一直是EJB的弱項(xiàng),使得Quartz成了主流。EJB3.1相對(duì)EJB3提供了編程和注釋兩種機(jī)制提供類似LinuxCron服務(wù)。
比如下面的定義:
@Stateless
publicclassMyTimeEJB{
@Schedules(
{@Schedule(hour="13"),
@Schedule(hour="20")
}
publicvoidMyTimeEJB(Timertimer){(...)}
}
6.推出EJBLiteEJB容器簡化版
EJB3.1簡化版包括features:
*Stateless,stateful,singletonsessionbeans.只支持Local的異步調(diào)用。
*Container-ManagedTransactionsandBean-ManagedTransactions.
*Declarative和programmaticsecurity.
*Interceptors.
*Deploymentdescriptors.
7.簡化EJBPackaging
可以不用ear包,在war包允許包含EJB模塊。如下圖:
8.嵌入式EmbeddableEJBContainers
AJavaSE應(yīng)用了啟動(dòng)一個(gè)嵌入式的EJBContainr來開發(fā)測試EJB。
感謝你的閱讀,相信你對(duì)“EJB3.1新特性有哪些”這一問題有一定的了解,快去動(dòng)手實(shí)踐吧,如果想了解更多相關(guān)知識(shí)點(diǎn),可以關(guān)注億速云網(wǎng)站!小編會(huì)繼續(xù)為大家?guī)砀玫奈恼拢?/p>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。