1
上下文#1:測試GlassFish的EJB標準SE應用程序
在我的PC上的GlassFish服務器3.1。
一個簡單的ejb在服務器上刪除。
在Eclipse(同一臺PC):
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:在我的/ etc/hosts文件
有一個 '問題':
Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: 10.12.3.94; port: 3700
當你設置系統屬性會發生什麼:System.setProperty(「組織。 omg.CORBA.ORBInitialHost」, 「10.12.3.93」)?或作爲JVM選項-Dorg.omg.CORBA.ORBInitialHost = 10.12.3.93? – Andre