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 a saját mappájában kell lennie a Bővítmény könyvtárban:

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

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

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 a mintául szolgáló konfigurációs fájl, 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 (amelyek 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ő konfigurálá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 Client <év>\Explorer), és JobProcessor.dll.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, amelyet 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 a Feladatkezelőre

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