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