簡體   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