我創建一個EJB組件用1個接口(Converter.java)...如何創建使用EJB組件的客戶端應用程序?
package converter;
public interface Converter {
public double euroToOtherCurrency(double amount, String currencyCode);
}
...和1類(ConverterBean.java)實現Converter
:
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: error: cannot find symbol Converter converter = (Converter) InitialContext.doLookup("java: global/Converter/Converter-ejb/ConverterBean"); symbol: class Converter location: class Client
不過,我認爲更改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
你能告訴我什麼是錯的嗎? 謝謝。