2010-03-19 7 views
5

리소스 유형 또는 javax.jms.ConnectionFactory가있는 JMS ConnectionFactory가 설정된 jms/MyConnectionFactory가있는 서버에 glassfish가 설치되어 있습니다.원격 클라이언트의 Glassfish JMS 사용

지금 나는 다음과 같은 한이 내 로컬 컴퓨터에 클라이언트 응용 프로그램에서이 액세스 할

:

public static void main(String[] args) { 
     try{ 
      Properties env = new Properties(); 
      env.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.SerialInitContextFactory"); 
      env.setProperty("java.naming.factory.url.pkgs", "com.sun.enterprise.naming"); 
      env.setProperty("java.naming.factory.state", "com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl"); 
      env.setProperty("org.omg.CORBA.ORBInitialHost", "10.97.3.74"); 
      env.setProperty("org.omg.CORBA.ORBInitialPort", "3700"); 
      InitialContext initialContext = new InitialContext(env); 
      ConnectionFactory connectionFactory = null; 
      try { 
       connectionFactory = (ConnectionFactory) 
       initialContext.lookup("jms/MyConnectionFactory"); 
      } catch (Exception e) { 
       System.out.println("JNDI API lookup failed: " + e.toString()); 
       e.printStackTrace(); 
       System.exit(1); 
      } 
     }catch(Exception e){ e.printStackTrace(System.err); 
     } 
    } 

내 클라이언트를 실행하면 나는 다음과 같은 출력을 얻을 :

INFO: Using com.sun.enterprise.transaction.jts.JavaEETransactionManagerJTSDelegate as the delegate 
{org.omg.CORBA.ORBInitialPort=3700, java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory, org.omg.CORBA.ORBInitialHost=10.97.3.74, java.naming.factory.state=com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl, java.naming.factory.url.pkgs=com.sun.enterprise.naming} 
19-Mar-2010 16:09:13 org.hibernate.validator.util.Version <clinit> 
INFO: Hibernate Validator bean-validator-3.0-JBoss-4.0.2 
19-Mar-2010 16:09:13 org.hibernate.validator.engine.resolver.DefaultTraversableResolver detectJPA 
INFO: Instantiated an instance of org.hibernate.validator.engine.resolver.JPATraversableResolver. 
19-Mar-2010 16:09:13 com.sun.messaging.jms.ra.ResourceAdapter start 
INFO: MQJMSRA_RA1101: SJSMQ JMS Resource Adapter starting: REMOTE 
19-Mar-2010 16:09:13 com.sun.messaging.jms.ra.ResourceAdapter start 
INFO: MQJMSRA_RA1101: SJSMQ JMSRA Started:REMOTE 
19-Mar-2010 16:09:13 com.sun.enterprise.naming.impl.SerialContext lookup 
SEVERE: enterprise_naming.serialctx_communication_exception 
19-Mar-2010 16:09:13 com.sun.enterprise.naming.impl.SerialContext lookup 
SEVERE: 
java.lang.RuntimeException: com.sun.appserv.connectors.internal.api.ConnectorRuntimeException: This pool is not bound in JNDI : jms/MyConnectionFactory 
     at com.sun.enterprise.resource.naming.ConnectorObjectFactory.getObjectInstance(ConnectorObjectFactory.java:159) 
     at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304) 
     at com.sun.enterprise.naming.impl.SerialContext.getObjectInstance(SerialContext.java:472) 
     at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:437) 
     at javax.naming.InitialContext.lookup(InitialContext.java:392) 
     at simpleproducerclient.Main.main(Main.java:89) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.glassfish.appclient.client.acc.AppClientContainer.launch(AppClientContainer.java:424) 
     at org.glassfish.appclient.client.AppClientFacade.main(AppClientFacade.java:134) 
Caused by: com.sun.appserv.connectors.internal.api.ConnectorRuntimeException: This pool is not bound in JNDI : jms/MyConnectionFactory 
     at com.sun.enterprise.connectors.service.ConnectorConnectionPoolAdminServiceImpl.obtainManagedConnectionFactory(ConnectorConnectionPoolAdminServiceImpl.java:1017) 
     at com.sun.enterprise.connectors.ConnectorRuntime.obtainManagedConnectionFactory(ConnectorRuntime.java:375) 
     at com.sun.enterprise.resource.naming.ConnectorObjectFactory.getObjectInstance(ConnectorObjectFactory.java:124) 
     ... 11 more 
Caused by: javax.naming.NamingException: Lookup failed for '__SYSTEM/pools/jms/MyConnectionFactory' in SerialContext targetHost=localhost,targetPort=3700,orb'sInitialHost=ithfdv01,orb'sInitialPort=3700 [Root exception is javax.naming.NameNotFoundException: pools] 
     at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:442) 
     at javax.naming.InitialContext.lookup(InitialContext.java:392) 
     at com.sun.enterprise.connectors.service.ConnectorConnectionPoolAdminServiceImpl.getConnectorConnectionPool(ConnectorConnectionPoolAdminServiceImpl.java:804) 
     at com.sun.enterprise.connectors.service.ConnectorConnectionPoolAdminServiceImpl.obtainManagedConnectionFactory(ConnectorConnectionPoolAdminServiceImpl.java:932) 
     ... 13 more 
Caused by: javax.naming.NameNotFoundException: pools 
     at com.sun.enterprise.naming.impl.TransientContext.resolveContext(TransientContext.java:252) 
     at com.sun.enterprise.naming.impl.TransientContext.lookup(TransientContext.java:171) 
     at com.sun.enterprise.naming.impl.TransientContext.lookup(TransientContext.java:172) 
     at com.sun.enterprise.naming.impl.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:58) 
     at com.sun.enterprise.naming.impl.RemoteSerialContextProviderImpl.lookup(RemoteSerialContextProviderImpl.java:89) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie.dispatchToMethod(ReflectiveTie.java:146) 
     at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:176) 
     at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:682) 
     at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:216) 
     at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1841) 
     at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1695) 
     at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:1078) 
     at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:221) 
     at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:797) 
     at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:561) 
JNDI API lookup failed: javax.naming.CommunicationException: Communication exception for SerialContext targetHost=10.97.3.74,targetPort=3700,orb'sInitialHost=ithfdv01,orb'sInitialPort=3700 [Root exception is java.lang.RuntimeException: com.sun.appserv.connectors.internal.api.ConnectorRuntimeException: This pool is not bound in JNDI : jms/MyConnectionFactory] 
     at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2558) 
     at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:492) 
     at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:528) 
javax.naming.CommunicationException: Communication exception for SerialContext targetHost=10.97.3.74,targetPort=3700,orb'sInitialHost=ithfdv01,orb'sInitialPort=3700 [Root exception is java.lang.RuntimeException: com.sun.appserv.connectors.internal.api.ConnectorRuntimeException: This pool is not bound in JNDI : jms/MyConnectionFactory] 
     at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:461) 
     at javax.naming.InitialContext.lookup(InitialContext.java:392) 
     at simpleproducerclient.Main.main(Main.java:89) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.glassfish.appclient.client.acc.AppClientContainer.launch(AppClientContainer.java:424) 
     at org.glassfish.appclient.client.AppClientFacade.main(AppClientFacade.java:134) 
Caused by: java.lang.RuntimeException: com.sun.appserv.connectors.internal.api.ConnectorRuntimeException: This pool is not bound in JNDI : jms/MyConnectionFactory 
     at com.sun.enterprise.resource.naming.ConnectorObjectFactory.getObjectInstance(ConnectorObjectFactory.java:159) 
     at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304) 
     at com.sun.enterprise.naming.impl.SerialContext.getObjectInstance(SerialContext.java:472) 
     at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:437) 
     ... 8 more 
Caused by: com.sun.appserv.connectors.internal.api.ConnectorRuntimeException: This pool is not bound in JNDI : jms/MyConnectionFactory 
     at com.sun.enterprise.connectors.service.ConnectorConnectionPoolAdminServiceImpl.obtainManagedConnectionFactory(ConnectorConnectionPoolAdminServiceImpl.java:1017) 
     at com.sun.enterprise.connectors.ConnectorRuntime.obtainManagedConnectionFactory(ConnectorRuntime.java:375) 
     at com.sun.enterprise.resource.naming.ConnectorObjectFactory.getObjectInstance(ConnectorObjectFactory.java:124) 
     ... 11 more 
Caused by: javax.naming.NamingException: Lookup failed for '__SYSTEM/pools/jms/MyConnectionFactory' in SerialContext targetHost=localhost,targetPort=3700,orb'sInitialHost=ithfdv01,orb'sInitialPort=3700 [Root exception is javax.naming.NameNotFoundException: pools] 
     at com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:442) 
     at javax.naming.InitialContext.lookup(InitialContext.java:392) 
     at com.sun.enterprise.connectors.service.ConnectorConnectionPoolAdminServiceImpl.getConnectorConnectionPool(ConnectorConnectionPoolAdminServiceImpl.java:804) 
     at com.sun.enterprise.connectors.service.ConnectorConnectionPoolAdminServiceImpl.obtainManagedConnectionFactory(ConnectorConnectionPoolAdminServiceImpl.java:932) 
     ... 13 more 
Caused by: javax.naming.NameNotFoundException: pools 
     at com.sun.enterprise.naming.impl.TransientContext.resolveContext(TransientContext.java:252) 
     at com.sun.enterprise.naming.impl.TransientContext.lookup(TransientContext.java:171) 
     at com.sun.enterprise.naming.impl.TransientContext.lookup(TransientContext.java:172) 
     at com.sun.enterprise.naming.impl.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:58) 
     at com.sun.enterprise.naming.impl.RemoteSerialContextProviderImpl.lookup(RemoteSerialContextProviderImpl.java:89) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie.dispatchToMethod(ReflectiveTie.java:146) 
     at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:176) 
     at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:682) 
     at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:216) 
     at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1841) 
     at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1695) 
     at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:1078) 
     at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:221) 
     at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:797) 
     at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.dispatch(CorbaMessageMediatorImpl.java:561) 
     at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.doWork(CorbaMessageMediatorImpl.java:2558) 
     at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:492) 
     at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:528) 

을 나는 다수의 게시물을보고 많은 성공을 거듭 시도했다. 내 서버에서 다음 명령을 실행할 수 있습니다 :

./asadmin list-jndi-entries 

UserTransaction: com.sun.enterprise.transaction.TransactionNamingProxy$UserTransactionProxy 
java:global: com.sun.enterprise.naming.impl.TransientContext 
jdbc: com.sun.enterprise.naming.impl.TransientContext 
ejb: com.sun.enterprise.naming.impl.TransientContext 
com.sun.enterprise.container.common.spi.util.InjectionManager: com.sun.enterprise.container.common.impl.util.InjectionManagerImpl 
jms: com.sun.enterprise.naming.impl.TransientContext 

Command list-jndi-entries executed successfully. 

./asadmin list-jndi-entries --context jms 

MyTopic: org.glassfish.javaee.services.ResourceProxy 
MyConnectionFactory: org.glassfish.javaee.services.ResourceProxy 
MyQueue: org.glassfish.javaee.services.ResourceProxy 

Command list-jndi-entries executed successfully. 

어떤 도움을 주시면 감사하겠습니다. 이 보인다

건배,

제임스

답변

4
Caused by: javax.naming.NameNotFoundException: pools 

꽤 최근의 고정 된 bug (2010년 2월 15일)에 의해 발생한다. 적어도 GF v3.0.1 build 05 (으)로 업그레이드해야합니다. 시도 해봐.

+0

(GlassFish 3 (빌드 9))으로 업데이트했지만 여전히 같은 오류가 표시됩니다. – James

+0

glassfish의 로컬 버전을 서버 버전으로 업데이트하지 않았습니다. 3.0.1 빌드 9로 작업 한 로컬 버전을 업데이트하면 3.0.1이 출시 될 예정입니다. – James

+0

이미 릴리스되었습니다. 빌드 9를 사용하고 있습니다. 3.0.2 정도를 의미하지 않습니까? – BalusC

관련 문제