[英]How create a client application that uses EJB Component?
我創建了一個具有1個接口的EJB組件(Converter.java)。
package converter;
public interface Converter {
public double euroToOtherCurrency(double amount, String currencyCode);
}
...和1個實現Converter
類(ConverterBean.java):
package converter;
@Stateless
@Remote(Converter.class)
public class ConverterBean implements Converter {
public double euroToOtherCurrency(double amount, String currencyCode) {
// implementation
}
}
然后,我在Glassfish服務器中部署了該應用程序。
現在,我想做一個使用我的EJB組件但將部署在獨立JVM中的獨立客戶端應用程序。
我在客戶端應用程序中復制了接口Convert
,這是主類:
import javax.naming.InitialContext;
import java.util.Scanner;
public class Client {
public static void main (String[] args){
Converter converter = (Converter) InitialContext.doLookup("java:global/Converter/Converter-ejb/ConverterBean");
Scanner sc = new Scanner(System.in);
System.out.println("Amount :");
Double amount = sc.nextDouble();
System.out.println("Currency :");
sc.nextLine();
String currency = sc.nextLine();
System.out.println(converter.euroToOtherCurrency(amount, currency));
}
}
我有以下錯誤:
Client.java:8:錯誤:找不到符號Converter converter =(Converter)InitialContext.doLookup(“ java:global / Converter / Converter-ejb / ConverterBean”); 符號:類轉換器位置:類客戶端
但是,我想更改ClassPath環境:
set CLASSPATH=C:\Program Files\glassfish-4.1.1\glassfish\lib\appserv-rt;jndi.properties;.
這是jndi.properties文件:
java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory
org.omg.CORBA.ORBInitialHost=localhost
org.omg.CORBA.ORBInitialPort=3700
你能告訴我怎么了嗎? 謝謝。
Glassfish服務器提供用於開發客戶端應用程序的庫。 使用這些,您應該能夠訪問在應用程序服務器中運行的組件,就像您的代碼也在應用程序服務器中運行一樣(我相信注釋也會起作用)。
查看Glassfish 4的官方開發文檔 - 第10節:開發Java客戶端
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.