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