Download Design und Implementierung der FlexiTRUST-CA als Java

Transcript
KAPITEL 9. ERWEITERUNG DES SYSTEMS
99
request . setFailed ();
throw new EJBException( ex);
105
106
}
request = null; // GC
107
108
}
109
110
[...] Other business methods
111
112
}
Aus Performancegründen werden bereits bei der Instantiierung einer Enterprise-JavaBean alle Referenzen auf die Home-Interfaces benötigter Enterprise JavaBeans angelegt und in Attributen (Zeile 24) gespeichert. Da diese Referenzen für die Lebensdauer
der Instanz lokal gehalten werden, müssen sie ensprechend verwaltet werden.
Für die neu hinzugekommene Pkcs11BenchEJB sind die XDoclet-Tags, die die Deployment-Deskriptoren beeinflussen, in den Zeilen 10 ff. dargestellt. Die Verwaltung
der Referenz auf das Home-Interface innerhalb der Beanklasse wird in den Zeilen 46
ff. und 33 ff. implementiert. Es ist darauf zu achten, daß beim Entfernen einer Beaninstanz alle Referenzen auf andere Beans wieder freigegeben werden. Nachdem der
Request auf der EntranceEJB abgearbeitet ist, wird er an die von ihm spezifizierte
nächste Bench weitergegeben. Für den Fall, daß dieses die Pkcs11Bench ist, muß ein
entsprechender Eintrag (Zeile 86 ff.) im Switch-Block erfolgen.
9.4 PKCS#11 Request
Beteiligte Komponenten:
Klasse
Beschreibung
X509P11Request
X509P11 Request
X509P11RequestData
Request
Value-Object des X509P11Requests
Geschäftsklasse der RequestEJB
RequestEJB
RequestDAO
Allgemeine RequestEJB
Data-Access-Object der RequestEJB
Types
Auflistung aller in der CA vorhandenen Requests
An der Enterprise-JavaBean RequestEJB müssen keine Modifikationen durchgeführt
werden. Sie ist nur der Vollständigkeit halber in obiger Liste enthalten.
9.4.1 Die Klasse X509P11Request
Die Klasse domain.request.X509P11Request implementiert einen Pkcs#11-Request.
Die grundlegende Struktur wird durch die Klasse GenericWorker definiert, welche die