2012-09-07 6 views
0

다른 컴퓨터 (localhost 및 192.168.0.5)에 두 개의 Glassfish 3.1.2 서버가 있습니다. 또한 EJB를 호출하고 JMS 대기열에서 메시지를 가져 오는 appclient 클라이언트 응용 프로그램이 있습니다. 트랜잭션 된 트랜잭션을 JMS 대기열에 사용하려면이 옵션이 유일한 옵션이므로 appclient 컨테이너를 사용해야합니다. 이 appclient.bat -targetserver 로컬 호스트 -jar appclient.jar는 -clientArg1 -clientArg2appclient에서 원격 Glassfish 서버에 액세스

이가 만드는 : 나는 appclient.bat 스크립트를 통해 로컬 호스트 응용 프로그램 클라이언트를 실행하면

나는이 같은 스크립트에 대상 서버 매개 변수를 제공해야 appclient는 localhost에서 실행중인 Glassfish에 연결합니다. appclient가 locahost에 연결되어있는 동안 192.168.0.5의 Glassfish에 클라이언트 Java 응용 프로그램에 연결하려고합니다.

InitialContext에 매개 변수를 설정하려했지만 시도되지 않았습니다.

Properties props = new Properties(); 
props.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.impl.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", sourceURL); 
props.setProperty("org.omg.CORBA.ORBInitialPort", "3700"); 
InitialContext ic = new InitialContext(props); 

EJB, JMS 대기열에 대한 참조는 항상 targetserver 매개 변수로 지정된 Glassfish 서버에서 가져옵니다.

제안 사항?

답변

0

솔루션을 찾을 수 없으므로 targetserver 매개 변수가있는 appclient 배치 파일을 여러 번 실행하고 있습니다.

+0

각 컴퓨터에서 클라이언트를 실행하고'localhost'를 전달합니까? 또는 IP 주소를 전달하여 원격으로 실행합니까? – Thufir

+0

예, 맞습니다. 2012 년 이후 나는 다른 것을했습니다. 이제는 큐 관리자에 대한 직접 연결을 사용하므로 appcllient 사용을 중단했습니다. 서버에 대한 호출을 원한다면 JAX-RS 또는 JAX-WS를 사용합니다. – kovica

+0

오케이, 나는 당신의 경로를 따라갈 수 있습니다. 감사. – Thufir