在分布式開發(fā)中,JAVA客戶端程序是通過JNDI去查詢EJB的,而JNDI的全名是:The Java Naming and Directory Interface。因?yàn)镴NDI 是一組接口,所以我們只需根據(jù)接口規(guī)范編程就可以。要通過JNDI 進(jìn)行資源訪問,我們必須設(shè)置初始化上下文的參數(shù),主要是設(shè)置JNDI 驅(qū)動的類名(java.naming.factory.initial)和提供命名服務(wù)的URL (java.naming.provider.url)。因?yàn)镴ndi 的實(shí)現(xiàn)產(chǎn)品有很多。所以java.naming.factory.initial 的值因提供JNDI 服務(wù)器 的不同而不同,java.naming.provider.url 的值包括提供命名服務(wù)的主機(jī)地址和端口號。
大家在編程時,最令人氣憤的就是EJB程序?qū)懞昧耍蛻舳藚s不知道如何去調(diào)用它,一般書上只是介紹一種應(yīng)用服務(wù)器的訪問代碼其它的不會提到,找這方面資料又比較麻煩,當(dāng)誤大家許多時間和精力,因此我就把已經(jīng)找到的代碼貼出來,方便大家查找。
暫且提供以下三種服務(wù)器的代碼,今后再慢慢補(bǔ)充吧。
下面是訪問Jboss 服務(wù)器的 例子代碼:
下面是訪問Sun ApplicationServer 及glassfish 應(yīng)用服務(wù)器的例子代碼:
下面是訪問Weblogic10 應(yīng)用服務(wù)器的例子代碼:
上面是服務(wù)器默認(rèn)的JNDI命名規(guī)則,那么如何修改它呢.
在Jboss 中要自定義JNDI 名稱,可以使 用@LocalBinding 和@RemoteBinding 注釋,@LocalBinding 注釋指定Session Bean 的Local 接口的JNDI 名稱, @RemoteBinding 注釋指定Session Bean 的Remote 接口的JNDI 名稱,下面的代碼展示了如何自定義JNDI 名:
在JSP 客戶端調(diào)用上面EJB 的代碼片斷如下:
客戶端調(diào)用EJB 的代碼片斷如下:
Powered by: BlogJava Copyright © sailor