2012-04-27 3 views
0

GlassFish V3 JMS 대기열의 독립 실행 형 클라이언트로 작동하는 클래스가 있습니다. 이 클래스는 내 로컬 호스트에서 올바르게 작동합니다. 즉, glassfish 서버와 독립 실행 형 클라이언트가 내 로컬 PC에 있습니다.InitialContext를 초기화 할 수 없습니다.

이제이 클라이언트를 Linux 컴퓨터에 설치해야합니다. Glassfish V3는 이미이 Linux 시스템에서 실행 중입니다. glassfish 설치 디렉토리에서 appserv-rt.jar을 추가하고 standlaone 클라이언트의 디렉토리에 추가하고 classpath를 설정합니다. 여기

javax.naming.NoInitialContextException: Cannot instantiate class: com.sun.enterprise.naming.SerialInitContextFactory [Root exception is java.lang.ClassNotFoundException: com.sun.enterprise.naming.SerialInitContextFactory] 
     at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657) 
     at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288) 
     at javax.naming.InitialContext.init(InitialContext.java:223) 
     at javax.naming.InitialContext.<init>(InitialContext.java:197) 
     at com.cisco.zbl.controller.ZblBulkUploadThread.run(ZblBulkUploadThread.java:55) 
     at java.lang.Thread.run(Thread.java:662) 
Caused by: java.lang.ClassNotFoundException: com.sun.enterprise.naming.SerialInitContextFactory 
     at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(URLClassLoader.java:190) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:307) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:248) 
     at java.lang.Class.forName0(Native Method) 
     at java.lang.Class.forName(Class.java:247) 
     at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:46) 
     at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:654) 
     ... 5 more 

내 자바 코드입니다 : :하지만이 오류가 계속

오류가이 라인에서 제공
public class ZblBulkUploadThread implements Runnable,MessageListener{ 

    private static final Category log = Category.getInstance(ZblBulkUploadThread.class) ; 


      private Queue queue; 

    public void run() 
    { 
      try 
      { 
        ZblConfig zblConfig = new ZblConfig() ; 


        InitialContext jndiContext = null; 

        MessageConsumer messageConsumer=null; 

        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"); 

        jndiContext = new InitialContext(props); 

        log.debug(zblConfig.getProperty("JMSConnectionFactoryName")) ; 

        //System.setProperty("java.naming.factory.initial","com.sun.jndi.ldap.LdapCtxFactory"); 

        ConnectionFactory connectionFactory = (ConnectionFactory)jndiContext.lookup(zblConfig.getProperty("JMSConnectionFactoryName")); 


        Connection connection = connectionFactory.createConnection(); 


        Session session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE); 

        queue = (Queue)jndiContext.lookup(zblConfig.getProperty("JMSQueueName")) ; 

        messageConsumer = session.createConsumer(queue); 

        connection.start(); 

        while(true) 
        { 

          Message message = messageConsumer.receive() ; 


          ObjectMessage om = ((ObjectMessage)message) ; 
          try 
          { 

            RedirectFile file = (RedirectFile)om.getObject() ; 

            log.debug("filePath "+file.getFilePath()) ; 
            log.debug(" userName "+file.getUserName()) ; 
            log.debug(" mode is "+file.getMode()) ; 

            processMessage(file,zblConfig) ; 

          } 
          catch(Exception ex) 
          { 
            log.error("ERROR "+ex.getMessage()) ; 
            ex.printStackTrace() ; 
          } 
        } 


      } 
      catch(Exception ex) 
      { 

        ex.printStackTrace() ; 
        log.error("Error "+ex.getMessage()) ; 
      } 
    } 

: 나는 노를 사용하는 경우 어떤 차이가되지 않습니다 jndiContext = new InitialContext(props);

-arg 생성자 InitialContext입니다. - 나는 오랫동안이 문제에 부착 된

APP_HOME=/local/scripts/apps/bulkUpload; 

CLASSPATH=.:$APP_HOME/lib/gf-client.jar:$APP_HOME/lib/zbl.jar:$APP_HOME/lib/log4j- 1.2.4.jar:$APP_HOME/lib/javaee.jar:$APP_HOME/lib/poi-3.8-beta5-20111217.jar:$APP_HOME/lib/poi-examples-3.8-beta5-20111217:$APP_HOME/lib/poi-excelant-3.8-beta5-20111217:$APP_HOME/lib/poi-ooxml-3.8-beta5-20111217:$APP_HOME/lib/poi-ooxml-schemas-3.8-beta5-20111217:$APP_HOME/lib/poi-scratchpad-3.8-beta5-20111217:$APP_HOME/lib/appserv-rt.jar: 


echo "CLASSPATH=$CLASSPATH"; 

export APP_HOME; 
export CLASSPATH; 

cd $APP_HOME; 

#javac -d . ZblBulkUploadThread.java 

java -cp $CLASSPATH -Dzbl.properties=zbl-stage.properties -Djava.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory com.cisco.zbl.controller.ZblBulkUploadThread 

이 제발 도와주세요 :

다음은이 자바 프로그램 (Standlaone 클라이언트)를 호출 내 유닉스 쉘 스크립트입니다.

답변

0

명령을 수행하고 which java 명령을 실행하여 jdk가 올바르게 선택되었는지 확인하십시오. 나는 리눅스가 gc4j 따기 의심

갱신 :

변화 순진한 소리에 대한 CLASSPATH=.:$APP_HOME/lib/gf-client.jar:$APP_HOME/lib/zbl.jar:$APP_HOME/lib/log4j- 1.2.4.jar:$APP_HOME/lib/javaee.jar:$APP_HOME/lib/poi-3.8-beta5-20111217.jar:$APP_HOME/lib/poi-examples-3.8-beta5-20111217:$APP_HOME/lib/poi-excelant-3.8-beta5-20111217:$APP_HOME/lib/poi-ooxml-3.8-beta5-20111217:$APP_HOME/lib/poi-ooxml-schemas-3.8-beta5-20111217:$APP_HOME/lib/poi-scratchpad-3.8-beta5-20111217:$APP_HOME/lib/appserv-rt.jar:

CLASSPATH=.:$APP_HOME/lib/gf-client.jar:$APP_HOME/lib/zbl.jar:$APP_HOME/lib/log4j- 1.2.4.jar:$APP_HOME/lib/javaee.jar:$APP_HOME/lib/poi-3.8-beta5-20111217.jar:$APP_HOME/lib/poi-examples-3.8-beta5-20111217:$APP_HOME/lib/poi-excelant-3.8-beta5-20111217:$APP_HOME/lib/poi-ooxml-3.8-beta5-20111217:$APP_HOME/lib/poi-ooxml-schemas-3.8-beta5-20111217:$APP_HOME/lib/poi-scratchpad-3.8-beta5-20111217:$APP_HOME/lib/appserv-rt.jar 
+0

죄송이 라인 -하지만 gc4j은 무엇인가? –

+0

자바 용 gnu 컴파일러 - gc4j – Satya

+0

Java 버전은 "1.6.0_24"를 표시합니다. 해당 컴퓨터에서 Java 프로그램을 컴파일 할 수 있습니다.이 독립형 클라이언트 코드에서도 -이 Linux 컴퓨터에서 컴파일 할 수 있습니다. 시스템 관리자에게 살펴보아야합니까? gc4j 구성? –

관련 문제