1. 程式人生 > >ejb遠端呼叫 之 weblogic

ejb遠端呼叫 之 weblogic

個人認為ejb遠端呼叫非常有用,效能應該比webservice之流要好很多,配置也並不是很複雜,搞了一個下午重要搞定,記錄下來

1. 加入jar包javax.ejb_3.0.1.jar

2. 寫服務端

package com.test;


public interface RmiInterface {
	public Object callService(Object obj);
}

package com.test;

import java.util.HashMap;
import java.util.Map;

import javax.ejb.Remote;
import javax.ejb.Stateless;
@Stateless(mappedName="AipEJBAdapter")
@Remote({RmiInterface.class})
public class RmiEjbImpl implements RmiInterface{

	public Object callService(Object obj) {
		System.out.println("呼叫RmiEjbImpl.callService,引數:"+obj);
		Map<String,Object> res = new HashMap<String,Object>();
		res.put("nsrsbh", "dsagewgwre");
		return null;
	}
}

3. 把服務端這兩個類打包成jar,部署web工程到weblogic,把這個jar放到lib下面

4. 在web目錄下新建META-INF/application.xml檔案,內容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application PUBLIC '-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN'
        'http://java.sun.com/dtd/application_1_3.dtd'>
<application>
        <display-name>ejbtest</display-name>
        <module>
        <ejb>WEB-INF/lib/ejbtest.jar</ejb>
    </module>
        
        <module>
                <web>
                        <web-uri>/</web-uri>
                </web>
        </module>
</application>
5. 啟動伺服器,在webloic控制檯,deployments可以看到jar已部署成功,開啟servers選單,展開伺服器,View JNDI Tree  Opens new window可以看到已經部署成功的ejb的jndi,記錄下Binding Name,客戶端呼叫時會用到

6. 客戶端呼叫測試程式碼:

package com.test;

import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;

public class RmiClientTest {
	public static void main(String[] args) throws Exception {
		Properties p = new Properties();  
        p.setProperty(Context.INITIAL_CONTEXT_FACTORY,  
                "weblogic.jndi.WLInitialContextFactory");  
        p.setProperty(Context.PROVIDER_URL, "t3://localhost:7001");  
        InitialContext init = new InitialContext(p);  
        RmiInterface rmi = (RmiInterface) init.lookup("AipEJBAdapter#com.test.RmiInterface");  
        rmi.callService("測試入參");
	}
}

   lookup的引數即為第5步中的Binding Name

  注:服務端必須部署在weblogic下面,客戶端可加入weblogic的jar包wlfullclient.jar,然後寫個main測試即可

相關推薦

ejb遠端呼叫 weblogic

個人認為ejb遠端呼叫非常有用,效能應該比webservice之流要好很多,配置也並不是很複雜,搞了一個下午重要搞定,記錄下來 1. 加入jar包javax.ejb_3.0.1.jar 2. 寫服務端 package com.test; public interfac

Java 遠端呼叫Hessian簡例

1,匯入jar包 <dependency> <groupId>org.resthub</groupId> <artifactId>hessian&

JBOSS系列(一) --EJB遠端呼叫-客戶端的配置

        EJB訪問方式分為遠端客戶端訪問、本地客戶端訪問和WebService客戶端。 所謂的EJB的遠端呼叫是說客戶端與服務端的EJB物件不在同一個JVM程序中。 本地客戶端是說客戶端與服務

EJB容器遠端呼叫

在開發分散式系統,用的框架是EJB,其中需要呼叫Bean,這裡分析兩種EJB呼叫的方法。 遠端呼叫 通過Remote介面,找到EJB服務的Bean代理,然後由代理和Bean實現互動,返回呼叫的結果。 Remote介面@remote Bean的客戶端直接與EJB物件打交道,

SpringCloud遠端呼叫Feign

一.Feign 在上篇文章中,我們使用了Ribbon的負載均衡功能,大大簡化了遠端呼叫時的程式碼: String baseUrl = "http://user-service/user/"; User user = this.restTemplate.getForObject(bas

gRPC遠端過程呼叫golang

gRPC是Google出品,支援多種語言,但是國內安裝會有點問題,下面整理一下,方便今後配環境的複習。 安裝grpc go get google.golang.org/grpc 結果出現瞭如下錯誤: package google.golang.org/grpc

JAVA序列化RMI遠端呼叫

RMI(Remote Method Invocation)是Java中的遠端過程呼叫(Remote Procedure Call,RPC)實現,是一種分散式Java應用的實現方式。它的目的在於對開發人員遮蔽橫跨不同JVM和網路連線等細節,使得分佈在不同JVM上的

TIM API遠端呼叫

Tivoli identity manager 是IBM的一種身份管理軟體,提供了對企業使用者資料的統一管理的功能。 在絕大多數情況下,開發人員可以使用tim 提供的各種介面實現使用者的需求,只有在需要更高階定製的時候,才會使用TIM的api. 一般地,可以直接把TIM的應用

Weblogicweblogic資料來源配置及jndi呼叫

將資料來源交給容器管理,使用jndi的方式管理,可以很方便的管理資料庫連線。 將資料管理庫交給容器,後面工程直接使用jndi的方式在容器中獲取jndi地址。 如果變更資料庫地址,直接修改資料庫連線池的

RPC遠端過程呼叫我的理解(附帶專案希望有人交流)

最近在學習開發過程中使用到了阿里開發的dubbo框架,將專案進行分散式。 最近的學習瞭解到了一些關於RPC的原理,心血來潮就試著實現了一下自己的RPC功能。 專案主要分為三個子專案 API 專案 定義了通訊的資料模型和序列化反序列化所使用的工具以及專案測

SuSE系統Weblogic安裝部署(非圖形安裝)

狀態 應用部署 ron ocm 磁盤 setoption 兩臺 上傳 3.0.0 目 錄引言 1目的 1範圍 1文檔約定 1 應用部署準備 21.1.應用包及說明 21.2.硬件環境 21.3.軟件環境 21.4.操作工具 2 xlcpt

SuSE系統Weblogic配置SSL功能參考方法

端口 pro valid weblogic alt 密碼 false acer 文件 下面寫一個簡單得Weblogic受管加密端口得配置方法:Weblogic配置SSL功能參考方法weblogic的ssl配置準備註:若分公司沒有獲取SSL配置所需jks文件,則需要手動生成本

在Dubbo中開發REST風格的遠端呼叫(RESTful Remoting)

dubbo支援多種遠端呼叫方式,例如dubbo RPC(二進位制序列化 + tcp協議)、http invoker(二進位制序列化 + http協議,至少在開源版本沒發現對文字序列化的支援)、hessian(二進位制序列化 + http協議)、WebServices (文

Springcloud踩坑記---使用feignclient遠端呼叫服務404

公司專案進行微服務改造,由之前的dubbo改用SpringCloud,微服務之間通過FeignClient進行呼叫,今天在測試的時候,eureka註冊中心有相應的服務,但feignclient就是無法調通,一直報404錯誤,排查過程如下: 一、問題:   服務提供方定義的介面如下: /** *

Dubbo的學習總結(一)——遠端呼叫

在學習用dubbo進行分散式遠端呼叫之前,先來看一個簡單的有關訪問網路上的天氣預報介面的遠端呼叫例項。 1.先建立一個java專案,建立過程這裡不詳細講述,只附上一張截圖供入門級選手參考: 2.建立好一個java專案後,接下來就是建立一個Weather實體類(這裡可以使用lombok的@Da

JAVA RPC遠端呼叫伺服器實現使用者登入、註冊

先來百科掃盲 : 什麼是 RPC(反正我也剛看的) RPC(Remote Procedure Call)—遠端過程呼叫,它是一種通過網路從遠端計算機程式上請求服務,而不需要了解底層網路技術的協議。RPC協議假定某些傳輸協議的存在,如TCP或UDP,為通訊程式之間攜帶資訊資料。在OSI

HttpClient遠端呼叫以及整合SpringBoot

一、HttpClient 1.1、 前臺系統訪問後臺介面的方式 兩個系統間如何互相訪問?兩個tomcat上的專案如何互相訪問 採用HttpClient實現跨系統的介面呼叫。 1.2、 什麼是HttpClient 官網:http://hc.apache.org/in

《商城專案01》--用dubbo實現對子系統的遠端呼叫

        最近加班不太多, 琢磨著把之前做的基於SOA架構的《商城專案》簡單整理下。記得當時做的時候涉及到dubbo, redis, activeMQ, solr等覺著挺六的技術,現在每天寫寫介面,偶爾客串寫寫前端,分散式相關的那些東西忘的差不多了,等在

使用dubbo+zookeeper實現簡單的遠端呼叫

想用dubbo+zookeeper實現遠端呼叫的第一步是安裝zookeeper: zookeeper的安裝步驟 安裝完成之後啟動zookeeper,然後安裝dubbo-admin (用於更好的監控服務與管理):dubbo-admin的安裝步驟 都OK了之後來開始搭建我們的專案,首先建立一

Aittit rpc的實現協議 JSON-RPC XML-RPC . Ws協議webservice 目錄 1. XML-RPC協議 1 1.1. JSON-RPC遠端呼叫協議 - CieloSun

Aittit rpc的實現協議  JSON-RPC XML-RPC . Ws協議webservice   目錄 1. XML-RPC協議 1 1.1. JSON-RPC遠端呼叫協議 - CieloSun - 部落格園.html 1 1.2.