WEBLOGIC 6.1 的安裝 無狀態SessionBean開發 數據源的設置 JMS的使用的簡單介紹WEBLOGIC 6.1 的安裝所需軟件: 一個安裝用壓縮包和一個破解的文件安裝過程:1.雙擊安裝文件,將WEBLOGIC安裝到D:\BEA在詢問是否作為一個WINGDOW SERVER時,選擇NO其余選缺省值2.按照破解說明,README文件,去除30天限制3.編輯 D:\bea\wlserver6.1\config\mydomain tartWebLogic.cmd69行中 set WLS_PW=yourpassWord56行中 set CLASSPATH=.;.\lib\weblogic_sp.jar;.\lib\weblogic.jar就是WEBGLOIC運行中用到的CLASSPATH在這裡可以加入所需要的類和路徑73行 set STARTMODE=true設置模式 true 為PRODUCT 模式false 為 Development 模式 此模式中 可以自動查找並發布 applications 目錄及其子目錄中的EJB的jar包4.在菜單中啟動 WEBLOGIC 啟動控制台(start default console)測試服務無狀態SessionBean開發EJB是WEBLOGIC提供的一種服務,使用RMI調用過程:客戶端,通過URL找到EJB服務器通過JNDI找到具體的EJB發送請求,得到返回值(遠程方法調用協議)客戶端得到一個遠程接口,WEBLOGIC 通過此接口給客戶端提供服務EJB通過JAR包發布,包含EJB的CLASS文件和EJB的描述文檔具體參照HelloWorld.jar的過程其中HelloHome創建遠程接口Hello,客戶端通過這個接口調用HELLOBEAN中的對應方法.其中HelloBean.class只在服務器端使用Hello and HelloHome interface 客戶端和服務器均必須使用注意weblogic-ejb-jar.XML 中 com.helloworldcom.helloworld用來標記EJB,並加入JNDI命名空間中編制好EJB的JAR包後,拷貝到applications目錄下使用WEBLOGIC控制台發布在左邊樹中點擊 domain/deployments/ejb節點在右邊選擇"Install a new EJB..."根據提示操作Weblogic6.1的JDBC緩沖池的使用1.將用的的DRIVE CLASS 設置到 WEBLOGIC 的CLASSPATH 中啟動WEBLOGIC 打開控制台2.在左邊樹中點擊domain/ServcIEs/JDBC/Connection Pools節點Configuration_General頁中name:myOraclePool (Any Name Is Ok!)URL:jdbcracle:thin:@ServerIp:1521:sidDRIVERCLASSName: oracle.jdbc.driver.OracleDriverPropertIEs: user=yourUserName Password=yourPassWordthen clike the "create" buttonThe Pool is created.3.Configuration_Connections頁:Initial Capacity: 緩沖池創建後的初始連接數。Maximum Capacity: 最大的連接數。Capacity Increment: 當連接不夠時,緩沖池中自動創建的連接數量(不超過Maximum Capacity)。Login Delay Seconds: 緩沖池創建連接時的允許延遲時間。Refresh Period: 當Testing頁配置了TestTableName後,如果此周期不為零,則每個空閒連接都要按此周期進行測試,如果連接不正確,則關閉此連接並嘗試重建連接。Allow Shrinking: 緩沖池按Capacity Increment創建新的連接後,如果存在空閒連接,是否允許自動刪除空閒連接(直到達到Initial Capacity數量)Shrink Period: 刪除空閒連接的周期。我們可以按如下格式設置:Initial Capacity: 5Maximum Capacity: 10Capacity Increment: 1Login Delay Seconds: 0Refresh Period: 0Allow Shrinking: trueShrink Period: 15Configuration_General頁設置完畢後按右下角的"Apply"按鈕保存設置。Target頁:綁到使用緩沖池的Server緩沖池創建後可以修改,修改的結果只有重新啟動Weblogic服務器後有效。通過右鍵菜單可以刪除、復制緩沖池。4.設置數據源1、在Weblogic的控制台左邊樹中點擊domain/ServcIEs/JDBC/Data Sources節點。2、在右邊選擇"Create a new JDBC Data Source…"超鏈接,創建新的數據源。按提示操作就行了注:最好用TX Data Source ---進行tranaction處理.方法一樣.5.使用數據源同EJB的使用,找URL找JNDI得到一個CONNECTIONJMS簡介消息系統 消息系統允許分開的未耦合的應用程序之間可靠地異步通信。類同郵件系統. 通常有兩種消息類型。 1.發布/訂閱(publish/subscribe) 發布/訂閱消息系統支持一個事件驅動模型,消息產生者和使用者都參與消息的傳遞。產生者發布事件,而使用者訂閱感興趣的事件,並使用事件。產生者將消息和一個特定的主題(Topic)連在一起,消息系統根據使用者注冊的興趣,將消息傳給使用者。 2.點對點(Peer to peer) 在點對點的消息系統中,消息分發給一個單獨的使用者。它維持一個"進入"消息隊列。消息應用程序發送消息到一個特定的隊列,而客戶端從一個隊列中得到消息JMS和EJB一樣是WEBLOGIC 提供的服務,客戶端通過JNDI名字查找在控制台 先創建一個JMS的主題,設定一個JNDI(參照提示做啊,跟前邊的介紹雷同) 一個典型的JMS客戶端由下面的幾個基本步驟來創建: 創建一個到消息系統提供者的連接(Connection) 創建一個Session,用於接收和發送消息 創建MessageProducer和MessageConsumer來創建和接收消息 當完成了上述步驟後,一個消息產生者客戶端將創建並發布消息到一個主題,(JNDI)而消息使用者客戶端會接收與一個主題相關的消息。 1.創建一個Connection 一個Connection提供客戶端對底層的消息系統的訪問。並實現資源的分配和管理。通過使用一個ConnectionFactory來創建一個Connection,通常用JDNI來指定: Connection message=new initialContext();TopicConnectionFactory topicConnectionFactory=(TopicConnectionFactory);topic = (Topic) jndiContext.lookup(topicName);topicConnection =topicConnectionFactory.createTopicConnection(); 2.創建一個Session Session是一個比較大的JMS對象,他提供了生產和消費消息的手段。用於創建消息使用者和消息產生者。 topicSession = topicConnection.createTopicSession(false,Session.AUTO_ACKNOWLEDGE); 兩個參數用於控制事務和消息確認。 3.定位一個Topic 用JDNI來定位一個Topic,Topic用於識別發送或接收的消息,在發布/訂閱系統中。訂閱者訂閱一個給定的Topic,而發布者將它發布的消息與一個Topic相連。 下面是創建一個Topic "WeatherReport" Topic weatherTopic=messaging.lookup("WeatherReport"); 4.啟動Connection 在上面的初始化步驟之後,消息流是禁止的,用於防止在初始化時發生不可預料的行為。一旦初始化結束,必須讓Connection啟動消息系統。 topicConnection.start(); 5.創建一個消息產生者 在發布/訂閱裡,一個產生者發布消息到一個指定的Topic。下面的代碼顯示創建一個產生者,以及後續的建立和發布一個簡單文本消息。 TopiCPUblisher publisher=session.createPublisher(weatherTopic); TexeMessage message=session.createMessage(); message.setText("ssss"); publisher.publish(message); 下面是一個消息使用者的代碼 topicConnection =topicConnectionFactory.createTopicConnection();topicSession = topicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);topicSubscriber = topicSession.createSubscriber(topic);topicListener = new MsgListener();topicSubscriber.setMessageListener(this);topicConnection.start();