繁体   English   中英

如何创建使用EJB组件的客户端应用程序?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM