Was tun, falls ein Adapter zusätzliche Konfiguration benötigt?

Für den Fall, dass ein Adapter wie bspw. der CastorAdapter, weitere Angaben für einen sinnvollen Einsatz benötigt, kann die sog. AdapterFactory benutzt werden.

Die AdapterFactory wird von EJOE benutzt um Adapter zur Verwendung zu registrieren, zu cachen und/oder über Synonyme erreichbar zu machen.

EJOE erzeugt für alle eingetragenen Adapter in ejoe-adapter-conf.properties durch Aufruf des Standardkonstruktors eine Instanz und registriert diese automatisch unter dem verwendeten Klassennamen an der AdapterFactory.

So wird bspw. auch für den CastorAdapter eine derartige Instanz erzeugt, welche jedoch mangels Angabe einer für Castor typischen Mappingdatei oftmals nicht sinnvoll nutzbar ist.

Das Überschreiben der Standardinstanz eines Adapters erfolgt mittels Aufruf der Methode registerAdapter(SerializeAdapter). Ein derartiger Aufruf registriert eine Adapterinstanz unter Ihrem Klassennamen erstmalig oder erneut bei EJOE. Für Clientanfragen, welche den benutzten Adapter anfordern, wird ab dann die manuell registrierte Instanz benutzt.

//registriert einen mittels Mappingdatei konfigurierten CastorAdapter anstelle
//des standardmäßig geladenen, unkonfigurierten CastorAdapters
AdapterFactory.registerAdapter( new CastorAdapter( "castor-mapping.xml" ) );