Az IMSInteractionSpec objektum tulajdonságainak beállítása

Az IMS rendszerrel megvalósuló együttműködéshez biztosítania kell egy beállított IMSInteractionSpec objektumot.

Ha a Java alkalmazás az IMS rendszerrel működik együtt, akkor biztosítania kell egy beállított IMSInteractionSpec objektumot. Az IMSInteractionSpec objektum tulajdonságainak értékei írják le az együttműködést az IMS rendszerrel. Az IMSInteractionSpec tulajdonságainak értékeit a Common Client Interface (CCI) felületet használó alkalmazás set metódusai közvetlenül biztosíthatják, vagy az értékek átadhatók egy integrált fejlesztői környezet (IDE) varázslójának, ami az alkalmazás számára kódot állít elő. Néhány tulajdonság csak bemeneti, némelyikük bemeneti és kimeneti és néhányuk csak kimeneti tulajdonság. A csak kimeneti tulajdonságokat az (alkalmazásösszetevőnek is nevezett) Java alkalmazás kérdezi le az interakcióval kapcsolatos további információk megállapítása érdekében.

Az alábbi lista leírja az IMSInteractionSpec objektum összes tulajdonságát:

altClientID
Csak bemeneti tulajdonság; egy másodlagos ügyfélazonosító nevének a megadásához használt. Ez a név lesz TPIPE adatcsatornaként használva, amelyről az aszinkron kimenet megosztható állandó socket kapcsolaton lekérdezésre kerül.
Ez a tulajdonság az alábbi feltételekkel támogatott:
  • TCP/IP kapcsolat megosztható állandó socket-tel
  • Érvényes interakció parancsszavak (resumeTpipe kérés) aszinkron kimeneti üzenetek lekéréséhez: SYNC_RECEIVE_ASYNCOUTPUT, SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT és SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT
  • 0 véglegesítési módú interakció - Nem használható Helyi beállítással
  • Nem használható dedikált socket kapcsolattal
  • Az átirányítási név és a másodlagos clientID kölcsönösen kizárólagosak és nem adhatók meg egyidejűleg
asyncOutputAvailable
Csak kimeneti tulajdonság. Java alkalmazások használhatják annak megállapítására, hogy egy 0 véglegesítési módú interakcióhoz használt kapcsolathoz tartozó TPIPE adatcsatorna várakozási sorában van-e kimenet. Dedikált állandó socket kapcsolatok esetén a TPIPE adatcsatorna neve az IMSConnectionSpec objektum clientID tulajdonságának az értéke. Megosztható állandó socket kapcsolatok esetén a TPIPE adatcsatorna nevét az IMS Connector for Java állítja elő. Az asyncOutputAvailable értéke igaz, ha vannak üzenetek a várakozási sorban. Az asyncOutputAvailable tulajdonságot bemenetre az alkalmazásösszetevő nem állítja be. Megjegyzés: Ha a Java alkalmazás használja ezt a tulajdonságot, akkor fel kell fedni az IMSInteractionSpec objektum kimeneti tulajdonságaként.
convEnded
Csak kimeneti tulajdonság. Java alkalmazások használhatják annak megállapítására, hogy egy párbeszéd véget ért-e (true). A convEnded tulajdonságot az alkalmazás komponens bemenetre nem állítja be. Megjegyzés: Ha a Java alkalmazás használja ezt a tulajdonságot, akkor fel kell fedni az IMSInteractionSpec objektum kimeneti tulajdonságaként.
commitMode
Az IMS TM erőforrás-illesztő használja egy IMS tranzakcióra végrehajtandó véglegesítési mód feldolgozás típusának a jelzésére. További információk a következő témakörben találhatók: Véglegesítési mód feldolgozás áttekintése. A commitMode értéke 0 vagy 1 lehet, ha az interactionVerb tulajdonság beállítása SYNC_SEND_RECEIVE. Ha az interactionVerb értéke SYNC_RECEIVE_ASYNCOUTPUT, SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT, SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT vagy SYNC_SEND, akkor az IMS Connector for Java a commitMode 0 értéket használja. A commitMode 1 akkor szükséges, ha az interactionVerb beállítása SYNC_END_CONVERSATION.
Ha commitMode 0 esetén megosztható állandó socket használt az interakcióhoz, akkor a clientID azonosítót nem szabad megadni. Ha megosztható állandó socket-en a commitMode 0 kerül megadásra egy interakcióhoz, akkor a tranzakció kimeneti üzenete kiüríthető vagy átirányítható. Egy program-program kapcsoló kézbesítetlen másodlagos kimenete szintén kiüríthető vagy átirányítható.
Ha egy interakcióhoz dedikált állandó socket kapcsolat használt, akkor a commitMode 0 kötelező és a kapcsolathoz használt IMSConnectionSpec objektum clientID tulajdonságát meg kell adni. Ha commitMode 0 interakcióhoz dedikált állandó socket használt, akkor a kézbesítetlen üzenetek minden esetben helyreállíthatóak és nem üríthetőek ki vagy irányíthatók át.
socketTimeout
Az a maximális időtartam, amennyit az IMS Connector for Java vár az IMS Connect válaszára, mielőtt szétkapcsolja a socket-et és visszaküld egy kivételt az ügyfélalkalmazás felé. A socketTimeout értéke ezredmásodpercekben kerül ábrázolásra. A socket időkorlát használatához az értéknek nullánál nagyobbnak kell lennie. Ha az interakció számára nincs socket időkorlát érték megadva vagy az átadott socket időkorlát értéke nulla ezredmásodperc, akkor ennek eredménye, hogy nincs socket időkorlát vagy a várakozási idő végtelen. További információk a következő témakörökben találhatók: Socket időkorlát és Socket időkorlát értékek beállítása.
executionTimeout
Az a maximális időtartam, amely az IMS Connect számára engedélyezett üzenet küldéséhez az IMS felé és a válasz fogadásához. Az executionTimeout érték ezredmásodpercekben kerül ábrázolásra és az értéke -1 vagy 1 és 3,600,000 közötti decimális egész szám lehet. Azaz az executionTimeout értékének nullánál nagyobbnak és egy óránál kisebbnek vagy azzal egyenlőnek kell lennie. Ha a tulajdonság értékéül -1 van beállítva, akkor az interakció időkorlát nélkül fog futni. További információk a következő témakörökben találhatók: Végrehajtási időkorlát, Végrehajtási időkorlát értékek beállítása és Érvényes végrehajtási időkorlát értékek.
imsRequestType
Az IMS kérés típusát jelzi és meghatározza, hogy a kérés kimenetét az IMS TM erőforrás-illesztő hogyan kezelje. A következő egész értékek lehetségesek:
Érték Megnevezett konstans az IMSInteractionSpecProperties objektumban Leírás
1

IMS_REQUEST_TYPE_IMS_TRANSACTION

A kérés egy IMS tranzakció. Az IMS által visszaküldött normális tranzakció kimenet használt az alkalmazás kimeneti üzenetének a feltöltésére. Ha az IMS egy "DFS" üzenetet ad vissza, akkor az IMS erőforrás-illesztő dob egy IMSDFSMessageException kivételt, amely tartalmazza az "DFS" üzenetet.

Ez az imsRequestType érték használt azokhoz az alkalmazásokhoz, amelyek nem WebSphere Studio MFS támogatással kerültek előállításra.

2 IMS_REQUEST_TYPE_IMS_COMMAND A kérés egy IMS parancs. Az IMS által visszaadott parancskimenet, beleértve a "DFS" üzeneteket is, használt az alkalmazás kimeneti üzenetének a feltöltésére. A rendszer nem dob IMSDFSMessageException kivételt.

Ez az imsRequestType érték használt az IMS parancsokat küldő alkalmazásokhoz.

3

IMS_REQUEST_TYPE_MFS_TRANSACTION

Ez az imsRequestType érték használt azokhoz az alkalmazásokhoz, amelyek WebSphere Studio MFS támogatással kerültek előállításra.

Az IMS által visszaadott parancskimenet, a "DFS" üzenetekkel együtt, használt az alkalmazás kimeneti üzenetének a feltöltésére. A rendszer nem dob IMSDFSMessageException kivételt.

interactionVerb
A Java alkalmazás és az IMS közötti interakció módja. Az IMS TM erőforrás-illesztő által jelenleg támogatott értékek a következők:
Érték Megnevezett konstans az IMSInteractionSpecProperties objektumban Leírás
0 SYNC_SEND Az IMS TM erőforrás-illesztő elküldi az ügyfélkérést az IMS felé az IMS Connect programon keresztül és nem várja az IMS válaszát. SYNC_SEND interakció esetén az ügyfélnek nincs szüksége szinkron módon válasz fogadására az IMS rendszertől. A SYNC_SEND érték mind a megosztható, mind a dedikált állandó socket kapcsolatokon támogatott; csak commitMode 0 interakciókkal engedélyezett. Ha az interactionVerb beállítása SYNC_SEND, akkor a végrehajtási időkorlát és socket időkorlát értékek figyelmen kívül maradnak. Megjegyzés: A 2-es típusú imsRequest nem engedélyezett a SYNC_SEND beállítással; ez az eset kivételt okoz.
1 SYNC_SEND_RECEIVE Egy IMS interakció végrehajtása kérést küld az IMS felé és szinkron módon választ fogad. Jellemző SYNC_SEND_RECEIVE interakció az olyan nem párbeszédes IMS tranzakció, amelyben bemeneti rekord (az IMS tranzakció bemeneti üzenet) kerül elküldésre az IMS felé és kimeneti rekordot (az IMS tranzakció kimeneti üzenetet) küld vissza az IMS. A SYNC_SEND_RECEIVE interakciók párbeszédes IMS tranzakciók iterációjához is használtak. A párbeszédes tranzakciók commitMode 1 végrehajtási módot igényelnek. A nem párbeszédes tranzakciók futhatnak commitMode 1 vagy commitMode 0 beállítással is. Dedikált állandó socket-en a commitMode 0 használatakor értéket kell adni az IMSConnectionSpec objektum clientID tulajdonsága számára. Megosztható állandó socket-en a commitMode 0 használata esetén nem szabad értéket adni az IMSConnectionSpec objektum clientID tulajdonsága számára.
3 SYNC_END_CONVERSATION Ha az alkalmazás végrehajt egy interakciót az interactionVerb SYNC_END_CONVERSATION beállításával, akkor az IMS TM erőforrás-illesztő üzenetet küld egy IMS párbeszédes tranzakció kényszerített befejezésére.

A IMSInteractionSpec objektum commitMode tulajdonsága és az IMSConnectionSpec objektum clientID tulajdonsága nem érvényes, ha az interactionVerb beállítása SYNC_END_CONVERSATION.

4 SYNC_RECEIVE_ASYNCOUTPUT Az interactionVerb SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT beállítása mind megosztható állandó, mind dedikált állandó socket kapcsolatokon érvényes. A SYNC_RECEIVE_ASYNCOUTPUT érték nem kézbesített aszinkron kimenet lekéréséhez használt. Ha a SYNC_RECEIVE_ASYNCOUTPUT beállítás dedikált állandó socket-en használt, akkor értéket kell adni az IMSConnectionSpec objektum clientID tulajdonságának.

A SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT interakciónak megosztható állandó socket kapcsolaton ugyanabban az alkalmazásban kell lennie, mint az eredeti SYNC_SEND vagy SYNC_SEND_RECEIVE interakciónak, és ugyanazt a megosztható állandó kapcsolatot kell használnia. Ez elsősorban végrehajtási időtúllépést követően történik.

Az ilyen típusú interakció esetén a Java ügyfél csak egyetlen üzenetet fogadhat. Ha a kérés kiadásakor nincs üzenet a clientID azonosítóhoz tartozó IMS OTMA aszinkron várakozási sorban, akkor nem valósul meg további kísérlet az üzenet lekérésére. Nem kerül visszaküldésre üzenet és időtúllépés történik a SYNC_RECEIVE_ASYNCOUTPUT interakció executionTimeout tulajdonságában megadott időtartam letelte után.

5

SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT

A

SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT

interactionVerb beállítás érvényes mind megosztható, mind dedikált állandó socket kapcsolatokon. Aszinkron kimenet lekérésére használt.
A

SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT

interakciónak megosztható állandó socket kapcsolaton ugyanabban az alkalmazásban kell lennie, mint az eredeti SYNC_SEND vagy SYNC_SEND_RECEIVE interakciónak, és ugyanazt a megosztható állandó kapcsolatot kell használnia. Ez elsősorban végrehajtási időtúllépést követően történik.
Az ilyen típusú interakció esetén a Java ügyfél csak egyetlen üzenetet fogadhat. Ha a kérés kiadásakor nincs üzenet a clientID azonosítóhoz tartozó IMS OTMA aszinkron várakozási sorban, akkor nem valósul meg további kísérlet az üzenet lekérésére. Nem kerül visszaküldésre üzenet és időtúllépés történik a

SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT

interakció executionTimeout tulajdonságában megadott időtartam letelte után.
Megjegyzés: A SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT és a

SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT

interactionVerb parancsszavak ugyanazt a funkciót valósítják meg. Javasolt mégis a

SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_NOWAIT

használata.
6

SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT

A

SYNC_RECEIVE_ASYNCOUTPUT_
SINGLE_WAIT

interactionVerb beállítás aszinkron kimenet lekérésére használt. Érvényes mind megosztható, mind dedikált állandó socket kapcsolatokon.
A

SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT

interakciónak megosztható állandó socket kapcsolaton ugyanabban az alkalmazásban kell lennie, mint az eredeti SYNC_SEND vagy SYNC_SEND_RECEIVE interakciónak, és ugyanazt a megosztható állandó kapcsolatot kell használnia. Ez elsősorban végrehajtási időtúllépést követően történik.
Az ilyen típusú interakció esetén a Java ügyfél csak egyetlen üzenetet fogadhat. Ha a kérés kiadásakor nincs üzenet a clientID azonosítóhoz tartozó IMS OTMA aszinkron várakozási sorban, akkor az IMS Connect várakozik, hogy az OTMA üzenetet küldjön vissza. Az IMS Connect várakozik a

SYNC_RECEIVE_ASYNCOUTPUT_SINGLE_WAIT

interakció executionTimeout tulajdonságában megadott időtartamig, mielőtt kivételt adna vissza.

A J2EE Connection Architecture (JCA) SYNC_RECEIVE (2) értéke jelenleg nem támogatott.

ltermName
Az LTERM név használt az IMS alkalmazás I/O PCB blokk LTERM mezőjében lévő érték felülírásához. Az LTERM felülírás használatáról az IMS Connect Felhasználói kézikönyvben (SC27-0946-23) található leírás.

Ha az ügyfélalkalmazás LTERM felülbíráló nevet akar biztosítani, akkor ez a tulajdonság használható. Ez a név az IMS alkalmazás I/O PCB blokkjában található, azzal a szándékkal, hogy az IMS alkalmazás ezen a felülbíráló értéken alapuló döntéseket hozzon.

Ha az ügyfélalkalmazás LTERM felülbíráló nevet akar biztosítani, akkor ez a tulajdonság használható. Ez a név az IMS alkalmazás I/O PCB blokkjában található, azzal a szándékkal, hogy az IMS alkalmazás ezen a felülbíráló értéken alapuló döntéseket hozzon.

mapName
A mapName mező jellemzően egy Üzenetformátum szolgáltatás (MFS) vezérlő blokk nevét tartalmazza. Az MFS a tranzakció bemeneti és kimeneti üzenetek online formázását végrehajtó IMS összetevő. Mivel az IMS Connect az IMS OTMA funkciót használja az IMS elérésére, az MFS online formázás kihagyásra kerül. Ugyanakkor egy Java alkalmazás még mindig használhatja a mapName mezőt egy MFC vezérlőblokk nevének az átadására egy IMS alkalmazás felé vagy egy IMS alkalmazás által biztosított MFS vezérlőblokk nevének a lekérésére.

A kimenetnél a mapName tulajdonság értéke jellemzően egy MFS Üzenet kimeneti leíró neve, vagy egyszerűen "MOD". Az IMS alkalmazás számára a MOD név az I/O PCB blokkban lesz biztosítva.

A kimenetnél a mapName tulajdonság értéke egy MFS Üzenet kimeneti leíró neve, vagy egyszerűen "MOD". Ez az a MOD név, amelyet az IMS alkalmazás adott meg a tranzakció kimeneti üzenet beillesztésekor az I/O PCB blokkba.

Megjegyzés: Azoknak a Java alkalmazásoknak, amelyek olyan vállalati szolgáltatásokat használnak, amelyek bemeneti és kimeneti üzeneteit a WebSphere Studio MFS támogatás állítja elő, nem kell használniuk a mapName mezőt.

A kimenetnél a mapName tulajdonság értéke jellemzően egy MFS Üzenet kimeneti leíró neve, vagy egyszerűen "MOD". Az IMS alkalmazás számára a MOD név az I/O PCB blokkban lesz biztosítva.

A kimenetnél a mapName tulajdonság értéke egy MFS Üzenet kimeneti leíró neve, vagy egyszerűen "MOD". Ez az a MOD név, amelyet az IMS alkalmazás adott meg a tranzakció kimeneti üzenet beillesztésekor az I/O PCB blokkba.

Azoknak a Java alkalmazásoknak, amelyek olyan vállalati szolgáltatásokat használnak, amelyek bemeneti és kimeneti üzeneteit a WebSphere Studio MFS támogatás állítja elő, nem kell használniuk a mapName mezőt.

purgeAsyncOutput
Bemeneti tulajdonság. Ez a tulajdonság határozza meg, hogy az IMS Connect kiürítse-e a kézbesítetlen kimenetet.

Ez a tulajdonság csak olyan, megosztható állandó socket kapcsolatokon futó interakciókra érvényes, amelyek a SYNC_SEND_RECEIVE IMS interakciós parancsszót használják. Dedikált állandó socket kapcsolaton futó interakciók esetén érvénytelen. Végrehajtási mód 0 értéket használó interakciók esetén alkalmazható. Végrehajtási mód 1 értéket használó interakciók esetén nem alkalmazható. Ha azonban a végrehajtási mód 1 értéket használó interakció programközti váltást hajt végre, akkor az elindított program végrehajtási mód 0 értékkel fog futni, ezért a tulajdonság alkalmazható.

Ha a purgeAsyncOutput tulajdonság megosztható állandó socket-kapcsolaton futó SYNC_SEND_RECEIVE interakció számára nincs megadva, akkor az alapértelmezett érték TRUE és a következő kimeneti üzenetek kerülnek törlésre:
  • Az I/O PCB blokkba az elsődleges IMS alkalmazás által beillesztett kézbesítetlen kimeneti üzenet.
  • Az I/O PCB blokkba egy programközti váltás által meghívott másodlagos IMS alkalmazások által beillesztett kimeneti üzenetetek.
reRoute
Bemeneti tulajdonság.

Ez a tulajdonság csak olyan, megosztható állandó socket kapcsolatokon futó interakciókra érvényes, amelyek a SYNC_SEND_RECEIVE IMS interakciós parancsszót használják. Dedikált állandó socket kapcsolaton futó interakciók esetén érvénytelen. Végrehajtási mód 0 értéket használó interakciók esetén alkalmazható. Végrehajtási mód 1 értéket használó interakciók esetén nem alkalmazható. Ha azonban a végrehajtási mód 1 értéket használó interakció programközti váltást hajt végre, akkor az elindított program végrehajtási mód 0 értékkel fog futni, ezért a tulajdonság alkalmazható. Ez a tulajdonság dönti el, hogy a kézbesítetlen kimenetet a reRouteName mezőben megadott nevesített címzetthez át kell-e irányítani. Ha a reRoute értéke TRUE, akkor az aszinkron kimenet az előállított clientID TPIPE várakozási sorába nem kerül be. Helyette az aszinkron kimenet a reRouteName mezőben meghatározott címzetthez lesz sorba állítva. A reRoute alapértelmezett értéke FALSE.

Ha a reRoute és a purgeAsyncOutput tulajdonságok értéke egyaránt TRUE, akkor kivétel történik.

reRouteName
Ez a tulajdonság adja meg a címzett nevét, ahol az aszinkron kimenet várakozási sorba kerül. Ha a reRoute tulajdonság értéke TRUE, akkor ez a tulajdonság adja meg a nevesített címzettet. Ha a reRoute tulajdonság értéke FALSE, akkor a reRouteName tulajdonság figyelmen kívül marad.
Ha a reRoute tulajdonság TRUE és nincs megadott reRouteName, akkor a reRouteName tulajdonság értéke:
  1. Az IMS Connect konfigurációs fájlban megadott érték lesz.
  2. Ha az IMS Connect konfigurációs fájlban nincs megadott érték, akkor a "HWS$DEF" érték használt.
A reRouteName tulajdonság érvényes értékének feltételei:
  • 1 és 8 közötti hosszúságú, alfanumerikus (A-Z, 0-9) és speciális (@,#,$) karaktereket tartalmazó karaktersorozatnak kell lennie.
  • Nem kezdődhet a "HWS" karaktersorozattal.
  • Nem lehet IMS Connect portszám.
  • A megadott kisbetűk nagybetűkre lesznek cserélve.

A reRouteName tulajdonság csak megosztható állandó socket kapcsolatokon futó SYNC_SEND_RECEIVE interakciók esetén érvényes. Dedikált állandó socket kapcsolaton futó interakciók esetén érvénytelen.

syncLevel
Bemeneti tulajdonság. A syncLevel az IMS Connector for Java és az IMS OTMA közötti interakció szinkronizálási szintje. Érvényes szinkronizálási szint érték a 0 (NONE) és az 1 (CONFIRM). A syncLevel tulajdonság csak az interactionVerb tulajdonság SYNC_SEND_RECEIVE és SYNC_SEND értékei esetén alkalmazható és a commitMode tulajdonsággal kombinálva használják. Párbeszéd- és nem párbeszéd-alkalmazásokra egyaránt alkalmazható.
1-es véglegesítési mód
A 0 és 1 szinkronizálási szintek érvényesek. Az alapértelmezett érték a 0. Ha például az interactionVerb tulajdonság beállítása SYNC_SEND_RECEIVE és a commitMode tulajdonság értéke 1, akkor a syncLevel tulajdonságot nem szükséges beállítani. Ha a setSyncLevel(int) metódus számára a 0 vagy 1 értéken kívüli más érték kerül átadásra, akkor a rendszer egy kivételt dob.  
0-s véglegesítési mód
A szinkronizálási szint egyetlen érvényes értéke az 1. Ezzel a végrehajtási móddal nem szükséges a szinkronizálási szint beállítása. Ha a setSyncLevel(int) metódusnak az 1 értéken kívül bármely más érték kerül átadásra, akkor kivétel történik.
A programközti váltás által aktivált programok mindig végrehajtási mód 0 értékkel kerülnek feldolgozásra, tekintet nélkül az eredeti program szinkronizálási szintjére. Ezért az ilyen programok másodlagos kimenete az eredeti interakció reRoute és purgeNotDeliverable tulajdonságainak beállításától függően átirányítási sorba kerülhet vagy törölhető.

Visszajelzés