我创建一个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
你能告诉我什么是错的吗? 谢谢。