99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

EJB Web服務

2018-12-09 18:26 更新

EJB 3.0提供了選擇公開為一個網(wǎng)絡服務會話EJB。@ webservice annotation用來標記一個類作為web服務端點和@WebMethod用于公開為web客戶端方法。

@Stateless
@WebService(serviceName="LibraryService")
public class LibraryPersistentBean implements LibraryPersistentBeanRemote {
	
   ...
   @WebMethod(operationName="getBooks")
   public List getBooks()  {    
      return entityManager.createQuery("From Books").getResultList();
   }
   ...
}


示例應用程序

讓我們創(chuàng)建一個測試EJB應用程序來測試blob或clob EJB 3.0的支持

步驟描述
1用包com.tutorialspoint.entity下一個名字EjbComponent在EJB作為解釋的創(chuàng)建項目 - 創(chuàng)建應用程序一章。請使用EJB創(chuàng)建的項目 - 持久章這樣本章了解EJB概念CLOB / BLOB對象。
2包下com.tutorialspoint.stateless創(chuàng)建LibraryPersistentBean.java。使用EJB - 持久章作為參考。保持不變的文件其余部分。
3清理并生成應用程序,確保業(yè)務邏輯正在按要求。
4最后,部署JBoss應用服務器上的jar文件的形式應用。如果尚未啟動JBoss應用服務器將自動被啟動。


LibraryPersistentBean.java

package com.tutorialspoint.stateless;

import com.tutorialspoint.entity.Book;
import java.util.List;
import javax.ejb.Stateless;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

@Stateless
@WebService(serviceName="LibraryService")
public class LibraryPersistentBean implements LibraryPersistentBeanRemote {
    
   public LibraryPersistentBean(){
   }

   @PersistenceContext(unitName="EjbComponentPU")
   private EntityManager entityManager;         

   public void addBook(Book book) {
      entityManager.persist(book);
   }    
   
   @WebMethod(operationName="getBooks")
   public List <Book> getBooks() {
      return entityManager.createQuery("From Book").getResultList();
   }
}


JBoss應用服務器日志輸出

10:51:37,271 INFO  [EJBContainer] STARTED EJB: com.tutorialspoint.stateless.LibraryPersistentBean ejbName: LibraryPersistentBean
10:51:37,287 INFO  [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:

	LibraryPersistentBean/remote - EJB3.x Default Remote Business Interface
	LibraryPersistentBean/remote-com.tutorialspoint.stateless.LibraryPersistentBeanRemote - EJB3.x Remote Business Interface

10:51:37,349 INFO  [EJBContainer] STARTED EJB: com.tuturialspoint.messagebean.LibraryMessageBean ejbName: BookMessageHandler
10:51:37,443 INFO  [DefaultEndpointRegistry] register: jboss.ws:context=EjbComponent,endpoint=LibraryPersistentBean
10:51:38,191 INFO  [WSDLFilePublisher] WSDL published to: file:/D:/Jboss-5.0.1/server/default/data/wsdl/EjbComponent.jar/
LibraryService3853081455302946642.wsdl

創(chuàng)建客戶端訪問EJB Web服務

在NetBeans IDE中選擇File > New Project >文件>新建項目>類別,Java ,項目類型為Java Application (Java應用程序 )。選擇項目類型。單擊下一步> button.Enter項目名稱和位置。單擊Finish>按鈕。我們選擇的名稱EJBWebServiceClient。

右鍵點擊項目Explorer的窗口項目名稱。選擇New > WebService Client


WSDL客戶端

添加EJB組件項目LibraryPersistentBean之前使用compile 編譯選項卡中Add Project 添加項目按鈕,WSDL和客戶端位置創(chuàng)建。


Web服務


單擊Finish按鈕。驗證Project Explorer中的以下結(jié)構(gòu)。


Web服務bean

創(chuàng)建EJBWebServiceClient.java

package ejbwebserviceclient;

public class EJBWebServiceClient {
   public static void main(String[] args) {   
   }
}


選擇Web Service getBooks web方法,如下圖,將其拖動到代碼EJBWebServiceClient的窗口。


Web服務方法阻力


你會看到類似如下圖所示的輸出。


Web服務方法拖累


更新EJBWebServiceClient代碼來使用此方法。

package ejbwebserviceclient;

public class EJBWebServiceClient {

   public static void main(String[] args) {
      for(com.tutorialspoint.stateless.Book book:getBooks()){
         System.out.println(book.getName());
      }       
   }

   private static java.util.List
   <com.tutorialspoint.stateless.Book> getBooks() {
      com.tutorialspoint.stateless.LibraryService service = 
         new com.tutorialspoint.stateless.LibraryService();
      com.tutorialspoint.stateless.LibraryPersistentBean port = 
         service.getLibraryPersistentBeanPort();
      return port.getBooks();
   }      
}


運行客戶端

右鍵點擊Project Explorer窗口中的項目名稱。選擇 run 運行 。 NetBeans將生成客戶端并運行它。驗證下面的輸出。

ant -f D:SVNEJBWebServiceClient run
init:
Deleting: D:SVNEJBWebServiceClientuilduilt-jar.properties
deps-jar:
Updating property file: D:SVNEJBWebServiceClientuilduilt-jar.properties
wsimport-init:
wsimport-client-LibraryPersistentBean:
files are up to date
classLoader = java.net.URLClassLoader@4ce46c
SharedSecrets.getJavaNetAccess()=java.net.URLClassLoader$7@182cdac
wsimport-client-generate:
Compiling 1 source file to D:SVNEJBWebServiceClientuildclasses
compile:
run:
learn java
Learn Spring
learn JSF
Learn HTML
Learn JBoss
Learn EJB
Learn Hibernate
Learn IBatis
Times Now
learn html5
Learn images
Learn Testing
Forbes
test1
BUILD SUCCESSFUL (total time: 1 second)

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號