2011-06-30 89 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。我认为这是一个错误。

相关问题