2011-06-30 126 views
1

嗨我試圖在Glassfish 3.1服務器上運行遠程獨立應用程序客戶端。Glassfish 3.1遠程獨立(應用程序)客戶端

的問題是很奇怪的,我已經花了很多時間去尋找這樣的:

我已經設置了以下iiop屬性:

public static InitialContext setProps4Connect() { 

    Properties props = new Properties(); 
    props.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.SerialInitContextFactory"); 
    props.setProperty("java.naming.factory.url.pkgs","com.sun.enterprise.naming"); 
    props.setProperty("java.naming.factory.state","com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl"); 

    props.setProperty("org.omg.CORBA.ORBInitialHost", "192.168.0.81"); 
    props.setProperty("org.omg.CORBA.ORBInitialPort", "3700"); 

    try { 
     InitialContext ic = new InitialContext(props); 
     return ic; 
     } catch (Exception re) { 
     DialogFinancial("soel.utils.setProps4Connect() InitialContext. Σφάλμα κατά τον ορισμό των παραμέτρων!", re.toString(), 2, -1); 
     return null; 
    } 
} 

我用下面的代碼來更新一個記錄參數"SOM"的:

String ID = "SOM"; 
    try { 
     Parameters parameters = parametersFacade.find(ID); 
     if(parameters==null){ 
       throw new Exception("searched protocol not found"); 
     } 

     parameters.setDescriptionel(jTextFieldDescription_EL.getText()); 
     parameters.setDescriptionen(jTextFieldDescription_EN.getText()); 
     //****************************************************************// 
    //update.setType(jComboBoxType.getSelectedItem().toString()); 
     parameters.setFuse(jTextFieldFUse.getText()); 
    parameters.setComments(jTextAreaComments.getText()); 
     parametersFacade.edit(parameters); 

當我執行我的遠程客戶端,在server.log文件,我得到一個犯錯或者說:

查詢:InsertObjectQuery(iesoel.remote.entity.Parametersdetails [parametersdetailsPK =空])

現在開始奇怪的事情。我嘗試從parameters獲取字段:

System.out.println(parameters.setDescriptionel());

這工作正常。現在,如果我的屬性改爲從:

props.setProperty("org.omg.CORBA.ORBInitialHost", "192.168.0.81"); 

props.setProperty("org.omg.CORBA.ORBInitialHost", "www1"); 

然後一切工作正常。

請注意,此問題僅在GlassFish 3.1上不在GlassFish 3.0.1上。所以如果我明白,這不是網絡問題。有任何想法嗎?

+0

我可以看到的代碼部分看起來很好。也許你可以添加一些你正在調用的會話bean來幫助提供更多的信息。 – Jim

+0

另外,您是否在運行遠程客戶端的同一臺機器上使用此glassfish?是否涉及防火牆或VPN?當glassfish的ORB配置不正確且客戶端在VPN上時,我發現了一些奇怪的事情。作爲猜測,嘗試將您的orb偵聽器的網絡地址設置爲機器的DNS。 (Configurations/server-config/ORB/IIOP監聽器/ orb-listener-1)。默認值爲0.0.0.0,我看到10.0.x.x網絡上的客戶端可以執行Corba/RMI,但192.168.x.x網絡上的客戶端無法通過。 – Jim

+0

吉姆我有同樣的proplem與10.0.x.x網絡的其他網絡。 – Giorgos

回答

2

尋找解決方案之後,我發現了一個解決方案如下鏈接:我添加了以下到persistence.xml文件http://web.archiveorange.com/archive/v/N2KaoS4G06nDbgqxPmzu

<properties> 
    <property name="eclipselink.weaving.fetchgroups" value="false"/> 
</properties> 

我刪除了<properties/>條目,現在運轉精細。

請注意,問題只出在GlassFish 3.1而不用GlassFish 3.0.1。我認爲這是一個錯誤。

相關問題