1

上下文#1:

我的电脑上的 glassfish 3.1 服务器。

一个简单的 ejb 部署在服务器上。

在日食(同一台电脑)中:

public class App
{
    public static void main(String[] args) throws Exception
    {
    Properties p = new Properties();
    p.setProperty("java.naming.factory.initial","com.sun.enterprise.naming.SerialInitContextFactory");
    String jndiname = "java:global/simpleEjb";
    Context context = new InitialContext(p);
    System.out.println(daoService.sayHello());

}

}

在我的 pom.xml 中:

    <dependency>
        <groupId>org.glassfish.appclient</groupId>
        <artifactId>gf-client</artifactId>
        <version>3.1</version>
        <scope>system</scope>
        <systemPath>C:\Java\glassfish3\glassfish\lib\gf-client.jar</systemPath>
    </dependency>

它正在工作。

真实背景:

Glassfish 在另一台机器上的 ubuntu 服务器上运行。

所以在我的应用程序中:

    Properties p = new Properties();
    p.setProperty("java.naming.factory.initial","com.sun.enterprise.naming.SerialInitContextFactory");
    p.setProperty("org.omg.CORBA.ORBInitialHost","10.12.3.93");
    p.setProperty("org.omg.CORBA.ORBInitialPort","3700");
  • 如果我让我的本地服务器运行:它正在调用我本地服务器上的 ejb !
  • 如果我停止我的本地服务器:没有例外,但我的应用程序永远不会结束(挂起查找 - 即使等待超过 10 分钟)。

我还尝试修改我的 pom.xml 替换以前的依赖项:

    <dependency>
        <groupId>org.glassfish.appclient</groupId>
        <artifactId>gf-client</artifactId>
        <version>3.1</version>
        <type>pom</type>
        <scope>compile</scope>
        <exclusions>
            <exclusion>
                <artifactId>tools</artifactId>
                <groupId>com.sun</groupId>
            </exclusion>
            <exclusion>
                <groupId>org.eclipse.persistence</groupId>
                <artifactId>org.eclipse.persistence.core</artifactId>
            </exclusion>
        </exclusions> 
    </dependency> 

并添加:

<repositories>
    <repository>
        <id>EclipseLink</id>
        <url>http://download.eclipse.org/rt/eclipselink/maven.repo</url>
    </repository>
</repositories>

但同样的结果...

我要疯了……我不明白发生了什么。

如果我尝试更改主机 ip:

Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: 10.12.3.94; port: 3700
4

1 回答 1

0

好的,我得到了解决方案:

我的 /etc/hosts 文件中有一个“问题”。

有 :

我的服务器 127.0.0.1

我换成了

我的服务器 10.12.3.93

于 2013-02-05T14:31:27.623 回答