自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在JBoss下通過本地接口訪問EJB

開發(fā) 后端
本文敘述通過本地接口JBoss訪問EJB下遇到的問題,以及問題的解決辦法。

在JBoss訪問EJB,如果包含EJB的jar,JBoss訪問EJB和要通過local接口訪問EJB的war不被打包成一個(gè)ear來部署,會遇到問題。

如果你的war中包含了EJB的local接口的class,那么war在通過jndi取得EJB的引用試圖將其轉(zhuǎn)化成接口類型時(shí)會拋 ClassCastException。而如果war中不包含local接口的class,則會拋class not found的異常。這都是由討厭的classloader問題導(dǎo)致的。每個(gè)放到JBoss的deploy目錄里的部署單元都有自己的獨(dú)立的 classloader樹,這兩棵樹在jvm的classloader里是平級的。

如果war和EJB jar里都包含了某個(gè)EJB的local接口的class時(shí),那么同一個(gè)類就分別存在于兩棵classloader樹中。通過jndi取得的引用的類型是 EJB jar中的local接口的類型,將其轉(zhuǎn)化成war里的那個(gè)local接口類型時(shí)就出錯(cuò)了,因?yàn)樗鼈儾皇峭粋€(gè)類。

而classloader是不能訪問同級的其他的classloader下的類的,所以如果war里不包含接口的class,有會因找不到class而出錯(cuò)。

JBoss訪問EJB這種時(shí)候就是使用ear的時(shí)候,位于同一個(gè)ear里EJB jar的classloader是war的classloader的父classloader。

這樣,只需要部署一份接口類,war也能訪問到它,因?yàn)樽?classloader能訪問父classloader載入的類。

【編輯推薦】

  1. JBoss企業(yè)中間件概述
  2. 配置JBoss4.0上MySQL數(shù)據(jù)庫
  3. JBoss配置mysql數(shù)據(jù)庫連接池
  4. Red Hat宣布JBoss開放選擇應(yīng)用平臺戰(zhàn)略
  5. 在JBoss4.0上完成Oracle數(shù)據(jù)庫配置
責(zé)任編輯:佚名 來源: 新浪博客
相關(guān)推薦

2009-06-29 17:07:54

EJB部署Jboss

2009-06-10 12:34:01

Session BeaEclipse+JBo

2009-06-24 15:58:15

EntityManag

2009-06-15 16:06:25

JBoss IDE

2009-06-15 09:01:19

安裝Jboss

2009-06-15 13:56:02

linux下安裝JBo

2009-06-24 15:59:04

消息驅(qū)動Bean

2009-06-16 15:15:18

WebLogic EJ

2009-06-12 17:50:45

Linux下JDK+J

2009-06-08 15:18:34

EJB遠(yuǎn)程客戶端JVM

2009-06-10 11:36:45

有狀態(tài)的SessionEclipse+JBo

2009-06-24 15:56:47

實(shí)體Bean連接策略

2009-06-10 11:42:26

Session BeaEclipse+JBo

2009-06-24 15:57:44

JPQL命名查詢

2009-06-24 15:55:09

EclipseJBossJ2ee

2009-06-06 19:29:16

java EJB詳細(xì)概述

2009-06-10 11:09:40

配置文件SessionEclipse+JBo

2009-06-12 16:05:47

JBoss配置

2011-07-25 17:50:42

PostgreSQLODBC

2009-06-15 15:31:11

JBossDeploy
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號