歡迎您光臨本站 註冊首頁

Java Application 遠程調用EJB

←手機掃碼閱讀     火星人 @ 2014-03-10 , reply:0

EJB中的sessionbean可以對外提供Remote介面供遠程客戶端調用.其客戶端可以是servlet,java application,或EJB.下面我跟大家分享如何在java application中遠程調用session bean.我的配置環境如下.

Sessionbean:運行在websphere v6.0 中,其jndi名為"Hello"

Java Application: 使用eclipse IDE 創建.

首先,要對eclipse進行配置.必須與伺服器 websphere使用相同的JRE.在eclipse菜單欄中選擇Window,Preferences,在彈出窗口的左邊選擇Java,Installed JREs.默認地,右邊窗口現示安裝了jre1.5.0.0_07(具體版本可能有所不同).我們需要把它換成websphere的JRE.把jre1.5.0.0_07前面的勾去掉,點擊add.在彈出窗口的第三行:JRE home directory 選擇Browse……JRE的路徑為C:Program FilesIBMRationalSDP6.0runtimesbase_v6javajre.如果你沒有安裝RAD,就需要到網上下載一個JRE.一直點擊OK退回eclipse主界面.

其次,要向工程添加必要的JAR.右擊工程,選擇Properties-Java Build Path-Add

Extenal JARs.添加如下的Jar:wssec.jar,naming.jar,namingclient.jar,sas.jar,ecutils.jar,websphere.jar.這些jar都可以在C:Program FiresRationalSDP6.0runtimesbase_v6lib目錄下找到.

接著我門要把sessionbean『Hello』的home和remote介面的.class文件拷被到eclipse的工程中,是的我們在工程中可以引用它.

具體程序如下:

public class Test{
public static void main(String[] args) throws NamingException,
RemoteException, CreateException {
Properties properties = System.getProperties();
//客戶端和sessionbean不是運行在同一伺服器上,需要對properties進行配置.
//如果不是在同一台電腦上運行localhost需改為伺服器的ip地址或主機名
//900是伺服器埠,默認值可能是900或2809
properties.put(Context.PROVIDER_URL, "iiop://localhost:900");
properties.put(Context.INITIAL_CONTEXT_FACTORY,
"com.ibm.websphere.naming.WsnInitialContextFactory");
Context ctx = new InitialContext(properties);
Object obj = ctx.lookup("Hello");
HelloHome ejbHome = (HelloHome) javax.rmi.PortableRemoteObject
.narrow(obj, HelloHome.class);
Hello hello= ejbHome.create();
//現在我們取得了所需要的hello對象
}
}


[火星人 ] Java Application 遠程調用EJB已經有229次圍觀

http://coctec.com/docs/java/show-post-61947.html