|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.ObjectAMETAS.place.AMETASPlaceUser
AMETAS.servicedev.AMETASServiceManager
Verwaltet ein Dienstobjekt. ServiceManager gehören neben Agenten und Benutzeradaptern zu den Stellennutzern, sie liegen alle auf derselben Ebene. Sie kommunizieren über das Nachrichtensystem der Stelle und werden in der Stelle auf die gleiche Art verwaltet. Ein Objekt dieser Klasse verwaltet einen Dienst, der als AMETASServiceObject implementiert ist. Es regelt all die Dinge, um die sich der Entwickler des Dienstes nicht kümmern sollte und bietet eine einfache Schnittstelle zum ServiceObject an. Der Entwickler implementiert das ServiceObject. Der ServiceManager lädt das ServiceObject, holt aus ihm die Dienstbeschreibung und meldet mit dieser den Dienst beim Dienstvermittler der Stelle an. Er hört nun auf Dienstanfragen von anderen PlaceUsern und gibt die wesentlichen Teile dieser Nachricht an das ServiceObject weiter, welches die Dienstanfrage bearbeitet und eine Antwort generiert, die es dann dem ServiceManager zur Auslieferung an den Klienten übergibt. Je nach Interaktiontyp des ServiceObject verwaltet der Manager dieses auf unterschiedliche Weise. So werden z.B. bei einem NON_SHARED_SESSION-ServiceObject alle derzeit aktiven Objekte in einem Hashtable gehalten und bei einer Dienstanfrage wird überprüft, ob der Klient sich bereits mit einem ServiceObject in einer Sitzung befindet. Ist dies der Fall, so wird ihm dieses ServiceObject erneut zugeordnet.
| Field Summary |
| Fields inherited from class AMETAS.place.AMETASPlaceUser |
m_drvPU |
| Constructor Summary | |
AMETASServiceManager(java.lang.String sServiceName,
java.lang.Class clsService,
AMETASPrivilegeList prlRequired,
java.util.Vector vctServiceParams)
Erzeugt einen neuen ServiceManager. |
|
| Method Summary | |
boolean |
accessControlEnabled()
Gibt an, ob die Zugriffskontrolle aktiv ist. |
void |
bookAccount(AMETASPlaceUserID idClient)
Wird vom Dienstobjekt aufgerufen, um eine Abrechnung für die Nutzung durchzuführen. |
void |
cleanup()
Reinigt die Tabelle der akzeptierten PUIDs. |
protected int |
dispatchMessage(AMETASMessage mes)
Wird von notifyListener aufgerufen. |
void |
enableAccessControl(boolean bOn)
Aktiviert die Zugriffskontrolle. |
AMETASServiceManagerDriverIf |
getDriver()
Liefert den Treiber dieses ServiceManagers. |
AMETASPlace |
getPlace()
Liefert eine Referenz auf die Stelle. |
java.lang.ClassLoader |
getPULoader()
Liefert den Klassenlader. |
void |
invoke()
Startet den ServiceManager. |
void |
notifyListener(AMETASEvent evt)
Wird von PostOffice der Stelle aufgerufen, wenn eine Nachricht für diesen ServiceManager eintrifft. |
void |
serviceError(AMETASPlaceUserIDMask idmClient,
AMETASMessageID midRequest,
java.lang.String sError,
java.lang.String sErrorDetail)
Wird von diesem Service aufgerufen, wenn ein Fehler auftrat und der Auftrag nicht erledigt werden konnte. |
void |
setDriverIf(AMETASServiceManagerDriverIf drv)
Setzt die Treiberschnittstelle dieses Stellennutzers. |
java.lang.String |
toString()
Liefert eine Stringrepräsentation dieses ServiceManagers zurück. |
| Methods inherited from class AMETAS.place.AMETASPlaceUser |
checkPermission, getID, getName, getPUDriverIf, getSignableData, handleApplicationMessage, handleCustomMessage, handleMessageMessage, handlePlaceMessage, handleSecurityMessage, handleServiceMessage, handleTradingMessage, output, recoverError, specializeTypes, submitMessage |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
public AMETASServiceManager(java.lang.String sServiceName,
java.lang.Class clsService,
AMETASPrivilegeList prlRequired,
java.util.Vector vctServiceParams)
sServiceName - Name des Dienstes inklusive Parameterkennung.clsService - Dienstklasse.prlRequired - Erforderliche Privilegien zur Nutzung des Dienstes.vctServiceParams - Parameter des Dienstes.| Method Detail |
public void enableAccessControl(boolean bOn)
bOn - wenn true, ist die Zugriffskontrolle aktiv.public AMETASServiceManagerDriverIf getDriver()
public void setDriverIf(AMETASServiceManagerDriverIf drv)
drv - Treiberschnittstelle des ServiceManagers.
java.lang.SecurityException - wenn versucht wird, die Einstellung zu ändern.public boolean accessControlEnabled()
public void invoke()
invoke in class AMETASPlaceUserAMETASServiceObject,
AMETASServiceDescriptionpublic void notifyListener(AMETASEvent evt)
notifyListener in interface AMETASNotifiableevt - AMETASEvent, der durch das Eintreffen der Nachricht ausgelöst wurde.protected int dispatchMessage(AMETASMessage mes)
notifyListener aufgerufen. Führt ein
Dispatching der eingetroffenen Nachricht durch und startet
entsprechende Aktionen abhängig vom Interaktionstyp des
verwalteten ServiceObjects.
dispatchMessage in class AMETASPlaceUsermes - Eingetroffene Nachricht.
AMETASPlaceUser.dispatchMessage(AMETAS.data.AMETASMessage)
public void serviceError(AMETASPlaceUserIDMask idmClient,
AMETASMessageID midRequest,
java.lang.String sError,
java.lang.String sErrorDetail)
idmClient - Zu adressierende Klienten.midRequest - ID der Anfrage, die zu einem Fehler führte.sError - Fehlerspezifikation.sErrorDetail - Detailnachricht.public void bookAccount(AMETASPlaceUserID idClient)
idClient - Klient.AMETASServiceDescriptionpublic AMETASPlace getPlace()
public java.lang.ClassLoader getPULoader()
getPULoader in class AMETASPlaceUserpublic void cleanup()
public java.lang.String toString()
toString-Methode des/der
ServiceObjects aufgerufen, um dessen/deren Stringrepräsentation
in den Rückgabewert einzubeziehen.
toString in class AMETASPlaceUser
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||