Hi ,
I installed GT-4.0.3 and want  submit  a job  whit  GramJob class.
when i run job , see this error :
--------------------
[EMAIL PROTECTED]:/usr/local/GT4-examples/gt4book-examples> java
SubmitJob.class
submitting job ...

Waiting before create GramJob

Container failed to initialize. Caused by
org.apache.axis.ConfigurationException: Configuration file directory './etc'
does not exist or is not a directory or is not readable.
org.apache.axis.ConfigurationException: Configuration file directory './etc'
does not exist or is not a directory or is not readable.
        at
org.apache.axis.configuration.DirProvider.<init>(DirProvider.java:73)
        at
org.globus.wsrf.container.ServiceDispatcher.<init>(ServiceDispatcher.java:81)
        at
org.globus.wsrf.container.GSIServiceDispatcher.<init>(GSIServiceContainer.java:63)
        at
org.globus.wsrf.container.GSIServiceContainer.createServiceDispatcher(GSIServiceContainer.java:49)
        at
org.globus.wsrf.container.ServiceContainer.start(ServiceContainer.java:225)
        at
org.globus.wsrf.container.ServiceContainer.<init>(ServiceContainer.java:197)
        at
org.globus.wsrf.container.GSIServiceContainer.<init>(GSIServiceContainer.java:45)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
        at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:80)
        at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:44)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:315)
        at
org.globus.wsrf.container.ServiceContainer.createContainer(ServiceContainer.java:138)
        at
org.globus.wsrf.impl.notification.ClientNotificationConsumerManager.startListening(ClientNotificationConsumerManager.java:61)
        at
org.globus.exec.client.GramJob.setupNotificationConsumerManager(GramJob.java:1000)
        at
org.globus.exec.client.GramJob.createJobEndpoint(GramJob.java:899)
        at org.globus.exec.client.GramJob.submit(GramJob.java:460)
        at SubmitJob.submitJob(SubmitJob.java:99)
        at SubmitJob.main(SubmitJob.java:50)

        at
org.apache.axis.configuration.DirProvider.<init>(DirProvider.java:73)
        at
org.globus.wsrf.container.ServiceDispatcher.<init>(ServiceDispatcher.java:81)
        at
org.globus.wsrf.container.GSIServiceDispatcher.<init>(GSIServiceContainer.java:63)
        at
org.globus.wsrf.container.GSIServiceContainer.createServiceDispatcher(GSIServiceContainer.java:49)
        at
org.globus.wsrf.container.ServiceContainer.start(ServiceContainer.java:225)
        at
org.globus.wsrf.container.ServiceContainer.<init>(ServiceContainer.java:197)
        at
org.globus.wsrf.container.GSIServiceContainer.<init>(GSIServiceContainer.java:45)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
        at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:80)
        at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:44)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:315)
        at
org.globus.wsrf.container.ServiceContainer.createContainer(ServiceContainer.java:138)
        at
org.globus.wsrf.impl.notification.ClientNotificationConsumerManager.startListening(ClientNotificationConsumerManager.java:61)
        at
org.globus.exec.client.GramJob.setupNotificationConsumerManager(GramJob.java:1000)
        at
org.globus.exec.client.GramJob.createJobEndpoint(GramJob.java:899)
        at org.globus.exec.client.GramJob.submit(GramJob.java:460)
        at SubmitJob.submitJob(SubmitJob.java:99)
        at SubmitJob.main(SubmitJob.java:50)
------------------------

my SubmitJob.java contain this :

import javax.xml.namespace.QName;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.PosixParser;
import org.apache.axis.components.uuid.UUIDGen;
import org.apache.axis.components.uuid.UUIDGenFactory;
import org.apache.axis.message.addressing.EndpointReferenceType;
import org.apache.axis.message.addressing.ReferencePropertiesType;
import org.apache.axis.message.addressing.Address;
import org.globus.exec.client.GramJob;
import org.globus.exec.client.GramJobListener;
import org.globus.exec.generated.StateEnumeration;
import org.globus.exec.generated.JobDescriptionType;
import org.globus.exec.generated.FilePairType;
import org.globus.exec.utils.ManagedJobConstants;
import org.globus.wsrf.impl.security.authentication.Constants;
import org.globus.wsrf.impl.security.authorization.Authorization;
import org.globus.wsrf.impl.security.authorization.HostAuthorization;
import org.globus.wsrf.impl.SimpleResourceKey;

import java.io.File;
import java.io.FileInputStream;
import java.net.URL;
import java.util.LinkedList;
import java.util.List;
import java.util.Vector;
import org.globus.exec.generated.JobDescriptionType;
import org.globus.exec.utils.rsl.RSLHelper;




public class SubmitJob implements GramJobListener
{
   private static Object waiter = new Object();

   public static void main (String args[])
   {
       SubmitJob client = new SubmitJob();
       System.out.print("submitting job ... ");
       try {
         client.submitJob();
         System.out.println("done");
         System.out.println("Waiting for notification messages ...");
         synchronized (waiter) {
            waiter.wait();
         }
       } catch (Exception e) {
           e.printStackTrace();
       }
   }

   public void submitJob() throws Exception
   {
      // create factory epr
      EndpointReferenceType endpoint = new EndpointReferenceType();
      endpoint.setAddress(new Address("
https://omid:8443/wsrf/services/ManagedJobFactoryService";));
      ReferencePropertiesType props = new ReferencePropertiesType();
      SimpleResourceKey key = new
SimpleResourceKey(ManagedJobConstants.RESOURCE_KEY_QNAME,"Fork");
      props.add(key.toSOAPElement());
      endpoint.setProperties(props);

      // job rsl
      //String rsl =
"<job><executable>/bin/sleep</executable><argument>1</argument></job>";

      // setup security
      Authorization authz = HostAuthorization.getInstance();
      Integer xmlSecurity = Constants.ENCRYPTION;

      boolean batchMode = false;
      boolean limitedDelegation = true;

      // generate job uuid
      UUIDGen uuidgen   = UUIDGenFactory.getUUIDGen();
      String submissionID = "uuid:" + uuidgen.nextUUID();

       File jobDescriptionFile = new File("echo_job.xml");
       JobDescriptionType jobDescription =
RSLHelper.readRSL(jobDescriptionFile);

      //________________________________________________

      GramJob job = new GramJob(jobDescription);
      job.setAuthorization(authz);
      job.setMessageProtectionType(xmlSecurity);
      job.setDelegationEnabled(true);
      job.addListener(this);


      System.out.println("Waiting before create GramJob ");

      job.submit(endpoint,batchMode,limitedDelegation,submissionID);

      System.out.println("Waiting for craete GramJob ");

   }

   // GramJob calls this method when a job changes its state
   // It's part of GramJobListener Interface
   public void stateChanged(GramJob job)
   {
        StateEnumeration jobState = job.getState();
        System.out.println("   got state notifiation: job is in state " +
jobState);
        try {
            //System.out.println("refreshing status: ");
            //job.refreshStatus();
           // System.out.println("state is: " + job.getState());
        } catch (Exception e) {
             e.printStackTrace();
        }

        if (jobState.equals(StateEnumeration.Done)
            || jobState.equals(StateEnumeration.Failed)) {
            System.out.print("job finished. destroying job resource ... ");
            try {
                job.removeListener(this);
                job.destroy();
            } catch (Exception e) {
               e.printStackTrace();
            } finally {
               System.out.println("done");
               synchronized (waiter) {
                   waiter.notify();
               }
            }
        }
   }

}

-----------------------------------
there was an error when i call  " job.submit(...) " .
do some one can help me fo solve this problem ?

Thanks .
Omid.

Reply via email to