A Feladatkezelők betöltésének módja

Tudjon meg többet arról, hogy hogyan tölti be indításkor a Job Processor alkalmazás a Feladatkezelőket.

A Job Processor az Autodesk és harmadik felek által készített feladatkezelőket egyaránt betölt.

  1. Minden, harmadik féltől származó Feladatkezelő betöltése a Bővítmény mappából
  2. Olvassa el a Feladatkezelő konfigurációs információit.
  3. Töltse be az Autodesk Feladatkezelőit.
  4. Rendeljen Feladattípusokat a Feladatkezelőkhöz, és ellenőrizze, hogy engedélyezte-e az egyes Feladatkezelőket.

Harmadik féltől származó feladatkezelő bővítmények

Minden, harmadik féltől származó bővítménynek saját mappájában kell elhelyezkednie a Bővítmény könyvtárban:

%allusersprofile%\Autodesk\Vault[év]\Extensions\

Így például egy „JobHandlerSample” nevű feladatkezelő bővítménynek az %allusersprofile%\Autodesk\Vault [year]\Extensions\JobHandlerSample nevű mappában kell elhelyezkednie.

A Job Processor a Bővítmény mappában található összes mappán belül megkeresi a konfigurációs fájlt.  A konfigurációs fájl egy egyszerű szövegfájl. Bárhogy elnevezheti, de a kiterjesztésének a következőnek kell lennie: .vcet.config.  Ha a konfigurációs fájl nem létezik, a bővítmény nem tud betöltődni.  Itt láthatja minta konfigurációs fájlunk, a JobHandlerSample.vcet.config tartalmát:

<configuration>
    <connectivity.ExtensionSettings2>
         <assembly>JobHandlerSample</assembly>
         <extensionType>JobProcessor</extensionType>
    </connectivity.ExtensionSettings2>
</configuration>

Az assembly elem adja meg a bővítmény .dll fájljának a nevét.  Tehát a fenti példához tartozó bővítmény .dll fájljának neve: JobHandlerSample.dll.A JobProcessor bővítménytípus jelzi, hogy ez a bővítmény a Job Processor alkalmazáshoz tartozik (ebben a könyvtárban más típusú bővítmények is helyet kaphatnak: WebService és VaultClient).

A bővítmény-összeállítást (a mintában JobHandlerSample.dll) betöltötte a rendszer.  Betöltés után a következő ellenőrzések futnak le:

  1. A rendszer ellenőrzi az összeállításhoz tartozó .dll referenciáit, ezzel biztosítja, hogy egyik sem tartalmaz a Vault .dll fájljaira (melyek neve a „Connectivity” szóval kezdődik) való hivatkozást.  Nem lehet betölteni a bővítmény-összeállítást, ha az ezen .dll fájlok valamelyikére hivatkozik (akár közvetlenül, akár közvetve).
  2. A rendszer ellenőrzi az összeállítást egy egyszeres exportált típus szerint, mely az IJobHandler felületet valósítja meg.  A JobHandlerSample elnevezésű mintában például az összeállítás projektjén belül előfordulhat a következő C# osztály, mely az IJobHandler felületének megvalósítását végzi:
    namespace JobHandlerSample
    {
        public class JobHandlerSample : IJobHandler
         {
             public bool CanProcess(string strJobType)
              {
                 return strJobType.Equals("jobhandlersample");
              }
    
              public JobOutcome Execute(IJobProcessorServices context, IJob job)
               {
                  return JobOutcome.Success;
               }
          }
    }         

    Az összeállításnak pontosan egy nyilvános típust kell tartalmaznia, mely megvalósítja az IJobHandler felületet.  Ha ez nem így van, a bővítményt nem lehet betölteni.  Az ilyen típusú példányt a rendszer példányosítja.

  3. A rendszer ellenőrzi az összeállítást bizonyos szükséges összeállítás-attribútumokat keresve. Pontosabban:
    1. ApiVersion: Az Autodesk.Connectivity.Extensibility.Framework.ApiVersionAttribute típus attribútuma, mely meghatározza, hogy az API mely verziójához készült az adott bővítmény.  Ha a verzió nem egyezik a Vault API aktuális verziójával, a bővítményt nem lehet betölteni.
    2. Vállalat, Leírás, ProductName: A namespace System.Reflection of types AssemblyCompanyAttribute, AssemblyDescriptionAttribute, AssemblyProductAttribute bejegyzésekhez tartozó attribútumokra szükség van, ezek a karaktersorok nem lehetnek üresek.  Ha ezek nem léteznek, vagy üresek, a bővítményt nem lehet betölteni.
    3. ExtensionId: Az Autodesk.Connectivity.Extensibility.Framework.ExtensionIdAttribute típushoz tartozó attribútum, mely egy egyedi azonosítót határoz meg karaktersor formájában (GUID formátumban).  Ha ez az attribútum nem létezik, vagy üres, a bővítményt nem lehet betölteni.

Feladatkezelő beállítása

A Feladatkezelő konfigurációs fájlja egy .xml fájl, mely konfigurációs adatokat tartalmaz a Job Processor számára.  Ez ugyanabban a könyvtárban található, mint a JobProcessor.exe (általában a C:\Program Files\Autodesk\Vault Professional [év]\Explorer) és JobProcessor.exe.config a neve.  A Feladatkezelők konfigurációjához használatos szakasz a következő alatt található: configuration\connectivityExplorer\jobHandlers.  Az .xml ezen szakaszában minden jobHandler elem egy Feladatkezelőt képvisel.  A jobHandler .xml elemek a következő formában jelennek meg:

<jobHandler class="jobType" handler="NameOfTypeImplementingIJobHandler"/>

Ahol:

  1. a class a Feladattípust jelenti.  Amikor egy Feladatot hozzáad a Feladatszerver várakozási sorához, azzal meghatároz egy Feladattípust is, és a rendszer ezt az egyedi karaktersort használja annak eldöntésére, hogy melyik Feladatkezelővel dolgozza fel a Feladatot.
  2. a handler annak az összeállításon belüli típusnak a nevét jelenti, mely az IJobHandler megvalósítását végzi.  Ezt többféleképpen is meghatározhatja.  Meg kell adnia egy karakterláncot, melyet a System.Type.GetType(string) (lásd http://msdn.microsoft.com/en-us/library/w3f99sx1.aspx) felé átadva a rendszer azt az objektumtípust adja vissza az összeállításban, mely az IJobHandler megvalósítását végzi.

Tehát jelenlegi mintabővítményünkben így néz ki egy érvényes jobHandler elem:

<jobHandler class="jobhandlersample" handler="JobHandlerSample.JobHandlerSample, JobHandlerSample"/>

Figyelje meg, hogy a JobProcessor.exe.config fájlban már az Autodesk összes beépített Feladatkezelőjéhez tartozik egy jobHandler bejegyzés.  A beépített Feladatkezelőket csak akkor tölti be a rendszer, ha létezik hozzájuk tartozó jobHandler bejegyzés.  A Feladatkezelő beépített .dll fájljai ugyanabban a mappában találhatóak, ahol a JobProcessor.exe.

Ellenőrizze, hogy engedélyezettek-e a Feladatkezelők

A fenti konfigurációs adatok révén kapcsolhat össze egy Feladattípust egy adott Feladatkezelővel.  Ha ezzel elkészült, a program kérést küld az egyes Feladatkezelőknek a specifikusan hozzájuk tartozó Feladattípus feldolgozására vonatkozóan.  A Feladatkezelő erre az IJobHandler.CanProcess illesztőfelület-metódus megvalósításával válaszol.  A Feladatkezelőnek ekkor ellenőriznie kell, hogy rendelkezésére áll-e minden az adott típusú Feladatok feldolgozásához (például a DWF-fájl létrehozásával megbízott feladatkezelők ellenőrzik, hogy telepítve van-e az Inventor). 

Ellenőrizze, hogy mely Feladattípusokat dolgozza fel jelenleg egy Job Processor (a Felügyelet -> Feladattípusok... menüben), minden egyes felsorolt bejegyzés azt jelenti, hogy az adott Feladattípushoz sikeresen betöltődött egy Feladatkezelő.  Ha a jelölőnégyzet be van jelölve, az azt jelzi, hogy a Feladatkezelő engedélyezve van (azaz az IJobHandler.CanProcess megvalósítás „igaz” választ küldött vissza).  Ha szeretné elérni, hogy a Job Processor ismételten megkérdezze egy Feladatkezelőtől, hogy az „tud-e feldolgozni”, be kell zárni a Job Processor alkalmazást, majd újra el kell indítani.

Amint befejeződött az összes Feladatkezelő betöltése és lekérdezése, a Job Processor készen áll a sorban álló feladatok bevonására és feldolgozására.

Minta-Feladatkezelő

A Vault SDK tartalmaz egy minta-feladatkezelőt: JobProcessorApiSamples.  További információkért kattintson ide.