Я создал компонент 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 Environnement :
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
Не могли бы вы рассказать мне, что случилось? Спасибо.