Konfigurationseigenschaften des integrierbaren EJB-Containers

Verwenden Sie die folgenden Konfigurationseigenschaften des integrierbaren EJB-Containers.

Tabelle 1. Konfigurationseigenschaften des integrierbaren EJB-Containers. Verwenden Sie die Konfigurationseigenschaften des integrierbaren EJB-Containers.
Eigenschaft Typ Standardwert Beschreibung
com.ibm.websphere.ejbcontainer.cacheSize java.lang.Long 2 053 Anzahl der Buckets für den EJB-Cache
com.ibm.websphere.ejbcontainer.cacheSweepInterval java.lang.Long 3 000 Intervall, in dem bestimmt wird, ob Einträge aus dem EJB-Cache entfernt werden
com.ibm.websphere.ejbcontainer.inactivePoolCleanupInterval java.lang.Long 30 000 Zeit in Millisekunden, die der Bereinigungsthread bis zur Bereinigung des inaktiven Pools wartet
com.ibm.websphere.ejbcontainer.passivationDir java.lang.String <Temporäres_Verzeichnis> Verzeichnis, in dem Stateful-Beans inaktiviert werden. Der Benutzer muss Lese- und Schreibzugriff auf das angegebene Verzeichnis haben.
com.ibm.websphere.embeddable.configFileName java.lang.String <Aktuelles_Arbeitsverzeichnis> /embeddable.properties Name einer Eigenschaftendatei mit den Eigenschaften des integrierbaren EJB-Containers. Wenn diese Datei verarbeitet wird, wir jede Eigenschaft wie bei einer programmgesteuerten Übergabe an den neu erstellten EJB-Container übergeben. Alle Eigenschaften in der Konfigurationsdatei werden durch programmgesteuert übergebene Eigenschaften überschrieben.
Achtung: Sie können diese Eigenschaft in der Befehlszeile als Systemeigenschaft angeben.

In der folgenden Tabelle sind Konfigurationseigenschaften für Datenquellen aufgelistet. Jede Eigenschaft gilt für eine bestimmte Datenquelle, sodass Sie mehrere Datenquellen mit unterschiedlichen Einstellungen konfigurieren können. Ersetzen Sie <Datenquellen-ID> durch einen Begriff, der die zu konfigurierende Datenquelle eindeutig bezeichnet. Für jede Datenquelle sind einige Eigenschaften als erforderlich aufgelistet.

Tabelle 2. Konfigurationseigenschaften des integrierbaren EJB-Containers für JDBC-Datenquellen. Verwenden Sie die Konfigurationseigenschaften des integrierbaren EJB-Containers für JDBC-Datenquellen.
Eigenschaft Typ Beschreibung
DataSource.<Datenquellen-ID>.name java.lang.String Erforderlich. Die JNDI-Zeichenfolge, mit der der Container diese Datenquelle an den globalen Namespace des integrierbaren Containers bindet. Diese Zeichenfolge muss mit der in der Anwendung verwendeten JNDI-Suchzeichenfolge übereinstimmen.
DataSource<Datenquellen-ID>.className java.lang.String Erforderlich. Der Java™-Klassenname der Datenquellenklasse. Zu Testzwecken können Sie Apache Derby verwenden, sofern Stammverzeichnis_des_Anwendungsservers/derby/lib/derby.jar im JVM-Klassenpfad enthalten ist. Für Apache Derby werden die Datenquellenklassen org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource und org.apache.derby.jdbc.EmbeddedXADataSource unterstützt.
DataSource.<Datenquellen-ID>.connectionSharing java.lang.String Richtlinie für die gemeinsame Nutzung von Verbindungen. Gültige Werte sind MatchOriginalRequest (Standardwert), MatchCurrentState und None. MatchOriginalRequest bedeutet, dass für eine Verbindungsanforderung eine Verbindung infrage kommt, deren Einstellungen mit den ursprünglich angeforderten Einstellungen einer vorhandenen Verbindung übereinstimmen. MatchCurrentState bedeutet, dass für eine Verbindungsanforderung eine Verbindung infrage kommt, deren Einstellungen mit den aktuellen Einstellungen einer vorhandenen Verbindung übereinstimmen. None bedeutet, dass eine Verbindung nicht gleichzeitig für mehrere Verbindungsanforderungen infrage kommt.
DataSource.<Datenquellen-ID>.databaseName java.lang.String Name der Datenbank, zu der diese Datenquelle eine Verbindung herstellt
DataSource.<Datenquellen-ID>.isolationLevel java.lang.Integer Transaktionsisolationsstufe für Verbindungen dieser Datenquelle. Wenn kein Wert angegeben ist, wird vom JDBC-Treiber oder von der Datenbank der Standardwert bereitgestellt.

Gültige Werte sind 1 für "Lesen ohne COMMIT", 2 für "Lesen mit COMMIT", 4 für "Wiederholbares Lesen" und 8 für "Serialisierbar". Diese Werte stammen von Konstanten in java.sql.Connection und können sich ändern.

DataSource.<Datenquellen-ID>.maxIdleTime java.lang.Integer Zeit in Sekunden, nach der der Verbindungspool eine nicht verwendete Verbindung schließen kann
DataSource.<Datenquellen-ID>.maxPoolSize java.lang.Integer Maximale Anzahl der für diese Datenquelle erstellten Verbindungen. Wenn diese Anzahl paralleler Verbindungen genutzt wird, werden weitere Anforderungen nach einer Verbindung von dieser Datenquelle blockiert, bis mindestens eine der genutzten Verbindungen in den Pool zurückgestellt wird.
DataSource.<Datenquellen-ID>.maxStatements java.lang.Integer Maximale Anzahl der vom Verbindungspool zwischengespeicherten Anweisungen. Dieser Wert wird durch den Wert von maxPoolSize dividiert, um die Anzahl der Anweisungen zu bestimmen, die für jede Verbindung im Pool zwischengespeichert werden kann. Der Wert 0 bedeutet, dass das Zwischenspeichern von Anweisungen inaktiviert ist.
DataSource.<Datenquellen-ID>.minPoolSize java.lang.Integer Die Mindestanzahl der Verbindungen, die für diese Datenquelle im Verbindungspool verbleiben muss. Wenn keine Verbindungen genutzt werden, können Verbindungen im Pool gelöscht werden, bis die Poolgröße diese Einstellung erreicht. Diese Einstellung darf nicht negativ sein.
DataSource.<Datenquellen-ID>.password java.lang.String Kennwort des gegebenen Benutzers für den Zugriff auf die Datenbank. Diese Eigenschaft kann wie die vorangegangene übergangen werden, wenn die Sicherheit für die Datenbank nicht aktiviert ist oder wenn Benutzername und Kennwort beim Erstellen der Verbindung programmgesteuert bereitgestellt werden.
DataSource.<Datenquellen-ID>.transactional java.lang.Boolean Gibt an, ob diese Datenquelle in JTA-Transaktionen (Java Transaction API) aufgelistet sein muss. Gültige Werte sind true (Standardwert) und false.
DataSource.<Datenquellen-ID>.user java.lang.String Benutzername für den Zugriff auf die Datenbank. Diese Eigenschaft kann übergangen werden, wenn die Sicherheit für die Datenbank nicht aktiviert ist oder wenn Benutzername und Kennwort beim Erstellen der Verbindung programmgesteuert bereitgestellt werden.
DataSource.<Datenquellen-ID>.<Name_der_Anbietereigenschaft_oder_Name_der_Verbindungspooleigenschaft> java.lang.String Sie können auch weitere Eigenschaften konfigurieren:
  • Anbieterspezifische Datenquelleneigenschaften wie Servername und Portnummer
  • WAS-Datenquelleneigenschaften wie userDefinedErrorMap und validateNewConnection
  • Eigenschaften des WAS-Verbindungspooling wie connectionTimeout und purgePolicy
DataSource.<Datenquellen-ID>.xaRecoveryPassword java.lang.String Kennwort für XA-Wiederherstellung; gilt nur für XA-Datenquellen
DataSource.<Datenquellen-ID>.xaRecoveryUser java.lang.String Einige Datenbanken erfordern einen Benutzer mit speziellen Berechtigungen für XA-Wiederherstellung; gilt nur für XA-Datenquellen. Geben Sie mit dieser Eigenschaft einen Benutzernamen für XA-Wiederherstellung anstelle des Standardbenutzers an.

Mit den folgenden Eigenschaften können Sie zwei Datenquellen konfigurieren.

DataSource.ds1.name=env/jdbc/ds1
DataSource.ds1.className=org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource
DataSource.ds1.transactional=true
DataSource.ds1.createDatabase=create
DataSource.ds1.databaseName=jtest1
DataSource.ds1.user=dbuser1
DataSource.ds1.password=dbpwd1
DataSource.ds1.maxPoolSize=5

DataSource.ds2.name=env/jdbc/ds2
DataSource.ds2.className=org.apache.derby.jdbc.EmbeddedXADataSource
DataSource.ds2.connectionSharing=MatchOriginalRequest
DataSource.ds2.createDatabase=create
DataSource.ds2.databaseName=jtest2
DataSource.ds2.user=dbuser2
DataSource.ds2.password=dbpwd2
DataSource.ds2.maxPoolSize=10
DataSource.ds2.minPoolSize=1
DataSource.ds3.name=env/jdbc/ds3
DataSource.ds3.className=com.ibm.db2.jcc.DB2XADataSource
DataSource.ds3.driverType=4
DataSource.ds3.databaseName=DB2COPY1
DataSource.ds3.serverName=mydb2.test.ibm.com
DataSource.ds3.portName=50000
DataSource.ds3.user=dbuser1
DataSource.ds3.password=dbpwd1

Die erste Datenquelle ds1 wird unter dem Namen env/jdbc/ds1 in den Namespace eingebunden und ermöglicht ein Verbindungspooling für maximal fünf Verbindungen zu einer Apache-Derby-Datenbank. Die zweite Datenquelle ds2 wird unter env/jdbc/ds2 in den Namespace eingebunden und ermöglicht ein XA-kompatibles Verbindungspooling zu einer Apache-Derby-Datenbank.

In der folgenden Tabelle sind die Konfigurationseigenschaften für EJB-Bindungen aufgelistet. Ersetzen Sie für jede Eigenschaft das angegebene Element durch die entsprechenden Namen:
  • <Anwendung> durch den Anwendungsnamen.

    Für den Anwendungsname ist standardmäßig eine leere Zeichenfolge angegeben. Der Anwendungsname kann jedoch mit der Eigenschaft EJBContainer.APP_NAME angegeben werden, wenn createEJBContainer aufgerufen wird.

  • <Modul> durch den Modulnamen.

    Der Modulname ist entweder in der Datei "ejb-jar.xml" als <module-name> angegeben, ist der Name der JAR-Datei (ohne das Suffix ".jar") oder ist der Name des Verzeichnisses, welches das Modul enthält.

  • <EJB> durch den Namen der EJB.

    Der Name der EJB ist in der Datei "ejb-jar.xml" als <ejb-name> angegeben oder wird über das Namenselement bei der Verwendung von Annotationen angegeben (z. B. @Stateless(name="TestBean"). Wenn in der EJB-Annotation kein Name angegeben ist, wird der einfache Klassenname verwendet, z. B. "TestBean" für die Klasse "com.ibm.test.TestBean".

  • <Interceptor> durch den Namen einer Interceptorklasse.
  • <Referenz> durch den Namen der Ressourcenreferenz, der EJB-Referenz oder des Umgebungseintrags.

    Die Referenz kann in der Datei "ejb-jar.xml" angegeben sein, z. B. <res-ref-name>jdbc/mydsref</res-ref-name>, oder <ejb-ref-name>java:module/env/myejbref</ejb-ref-name>. Alternativ dazu kann die Referenz mit einer Annotation angegeben werden, z. B. @Resource(name="jdbc/mydsref") oder @EJB(name="java:module/env/myenvref").

Wenn beim Starten des integrierbaren Containers kein Anwendungsname angegeben wird, muss <Anwendung> weggelassen werden. Sie müssen jedoch den Begrenzer # verwenden. Beispiel: Bean.#<module>#<bean>.ResourceRef.BindingName.

Tabelle 3. Konfigurationseigenschaften des integrierbaren EJB-Containers für Referenzbindungen. Verwenden Sie die Konfigurationseigenschaften des integrierbaren EJB-Containers für Referenzbindungen.
Eigenschaft Typ Beschreibung
Bean.<Anwendung>#<Modul>#<EJB>.ResourceRef.BindingName.<Referenz> oder Interceptor.<Anwendung>#<Modul>#<Interceptor>.ResourceRef.BindingName.<Referenz> java.lang.String Die JNDI-Zeichenfolge, die zum Suchen oder Einfügen der Ressourcenreferenz verwendet werden soll. Es muss sich um den JNDI-Namen einer konfigurierten Datenquelle handeln.
Bean.<Anwendung>#<Modul>#<EJB>.EJBRef.BindingName.<Referenzname> oder Interceptor.<Anwendung>#<Modul>#<Interceptor>.EJBRef.BindingName.<Referenz> java.lang.String Die JNDI-Zeichenfolge, die zum Suchen oder Einfügen der EJB-Referenz verwendet werden soll. Es muss sich um die JNDI-Zeichenfolge java:global, java:app oder java:module einer EJB im integrierbaren EJB-Container handeln.
Bean.<Anwendung>#<Modul>#<EJB>.EnvEntry.Value.<Referenzname> oder Interceptor.<Anwendung>#<Modul>#<Interceptor>.EnvEntry.Value.<Referenz> java.lang.String Der Wert, der zum Suchen oder Einfügen des Umgebungseintrags verwendet werden soll. Diese Eigenschaft setzt den von env-entry-value angegebenen Wert außer Kraft. Es muss sich um einen für den Typ des Umgebungseintrags gültigen Wert handeln.
Bean.<Anwendung>#<Modul>#<EJB>.EnvEntry.BindingName.<Referenz> oder Interceptor.<Anwendung>#<Modul>#<Interceptor>.EnvEntry.BindingName.<Referenz> java.lang.String Die JNDI-Zeichenfolge, die zum Suchen oder Einfügen des Umgebungseintrags verwendet werden soll. Es muss sich um die JNDI-Zeichenfolge java:global, java:app oder java:module eines anderen Umgebungseintrags in demselben integrierbaren EJB-Container handeln.
Bean.<Anwendung>#<Modul>#<EJB>.DataSource.BindingName.<Referenz> oder Interceptor.<Anwendung>#<Modul>#<Interceptor>.DataSource.BindingName.<Referenz> java.lang.String Die JNDI-Zeichenfolge, die zum Suchen oder Einfügen der Datenquelle verwendet werden soll. Dies muss der JNDI-Name einer konfigurierten Datenquelle oder die JNDI-Zeichenfolge "java:global", "java:app" oder "java:module" einer anderen Datenquelle in demselben integrierbaren EJB-Container sein. Anwendungsentwickler sollten Ressourcenanwendungen verwenden, anstatt eine Datenquelle direkt zu suchen. Wenn eine Anwendung so codiert ist, dass sie Datenquellen direkt sucht, können Sie diese Eigenschaft verwenden, um Datenquellendefinitionen zu überschreiben, die in der Anwendung enthalten sind. Weitere Informationen zu Datenquellendefinitionen finden Sie im Information Center.

Mit den folgenden Eigenschaften können Sie die Bindungen für eine EJB mit zwei Referenzen und einem Interceptor mit einem Umgebungseintrag konfigurieren:

Bean.#TestModule#TestBean.ResourceRef.BindingName.jdbc/dsref=env/jdbc/ds1
Bean.#TestModule#TestBean.EJBRef.BindingName.ejb/Cart=java:global/CartModule/CartBean
Interceptor.#TestModule#com.ibm.example.LoggerInterceptor.EnvEntry.Value.logFile=/tmp/output.log
Fehler vermeiden Fehler vermeiden: Verwenden Sie die folgenden Eigenschaften, um "java:module/env/TestDataSource", definiert in einer EJB mit dem Namen "TestBean" in einem EJB-Modul mit dem Namen "TestModule", mit "jdbc/MyDataSource", definiert in den Eigenschaften des integrierbaren Containers, zu überschreiben:
Bean.#TestModule#TestBean.DataSource.BindingName.java\:module/env/TestDataSource=jdbc/MyDataSource
gotcha
Tabelle 4. Konfigurationseigenschaften des integrierbaren Containers für die Sicherheit. Verwenden Sie die Konfigurationseigenschaften des integrierbaren EJB-Containers für die Sicherheit.
Eigenschaft Typ Standardwert Beschreibung
com.ibm.websphere.securityEnabled java.lang.String false Bestimmt, ob Sicherheitsrollen geprüft werden. Gültige Werte sind false (Standardwert) und true. Wenn der Wert true angegeben ist, werden die Sicherheitsrollen geprüft. Ist false angegeben, werden die Sicherheitsrollen nicht geprüft.
role.<Rollenname> java.lang.String   Ordnet eine EJB-Rolle einem Benutzer oder mehreren Benutzern zu. Der <Rollenname> ist eine Rolle, die über die Annotation @RolesAllowed oder über das Element <method-permission> des Implementierungsdeskriptors einer Methode zugeordnet ist. Der Wert ist eine Zeichenfolge mit durch Kommata getrennten Benutzernamen (z. B. "bob, mary, john"). Die in der Liste enthaltenen Benutzer sind berechtigt, Methoden auszuführen, die die mit <Rollenname> angegebene Rolle erfordern.
role.runAs.<Rollenname> java.lang.String   Ordnet eine EJB-Rolle einem Benutzer zu. Der <Rollenname> ist eine Rolle, die über die Annotation @RunAs oder das Element <run-as> des Implementierungsdeskriptors einer Bean oder Methode zugeordnet ist. Der Wert ist ein einzelner Benutzername. Dieser Benutzername wird für alle Autorisierungen verwendet, die für die Ausführung der Bean erforderlich sind.
user.invocation java.lang.String   Definiert den Benutzer, der beim Aufruf der Bean für die Autorisierung verwendet werden kann. Der Wert ist ein einzelner Benutzername. Der Container prüft, ob dieser Benutzer einer Rolle zugeordnet ist, die berechtigt ist, die auszuführenden Methoden auszuführen.

In der folgenden Tabelle sind die Konfigurationseigenschaften für das Verhalten für lokalen Transaktionseinschluss (LTC, Local Transaction Containment) aufgelistet. In den Informationen zum lokalen Transaktionseinschluss finden Sie eine Erläuterung zum LTC. Jede Eigenschaft gilt für eine bestimmte Bean.

Wenn beim Starten des integrierbaren Containers kein Anwendungsname angegeben wird, muss <Anwendungsname> weggelassen werden. Sie müssen jedoch den Begrenzer # verwenden. Beispiel: Bean.#<Modulname>#<Bean-Name>LocalTransaction.Resolver.

Tabelle 5. Konfigurationseigenschaften des integrierbaren EJB-Containers für LTC. Verwenden Sie die Konfigurationseigenschaften des integrierbaren EJB-Containers für den lokalen Transaktionseinschluss (Local Transaction Containment, LTC).
Eigenschaft Typ Standardwert Beschreibung
Bean.<Anwendungsname>#<Modulname>#<Bean-Name>.LocalTransaction.Resolver java.lang.String Application Legt die Entität fest, die für die Auflösung lokaler Transaktionen zuständig ist. Gültige Werte sind Application (Standardwert) und ContainerAtBoundary.
Bean.<Anwendungsname>#<Modulname>#<Bean-Name>.LocalTransaction.UnresolvedAction java.lang.String Rollback Bestimmt die Aktion für nicht aufgelöste lokale Transaktionen. Gültige Werte sind Rollback (Standardwert) und Commit.

In der folgenden Tabelle sind die Konfigurationseigenschaften für das XA-Verhalten aufgelistet.

Tabelle 6. Konfigurationseigenschaften des integrierbaren EJB-Containers für XA. Verwenden Sie die Konfigurationseigenschaften des integrierbaren EJB-Containers für XA.
Eigenschaft Typ Standardwert Beschreibung
com.ibm.websphere.tx.acceptHeuristicHazard java.lang.String false Gibt an, ob für alle Module die Unterstützung des letzten Teilnehmers aktiviert ist. Der Standardwert ist false.
com.ibm.websphere.tx.auditRecovery java.lang.String true Gibt an, ob bei der Wiederherstellungsverarbeitung Prüfnachrichten ausgegeben werden, die die XA-Ressource und die XID-Verarbeitung während der Wiederherstellung anzeigen. Wenn keine Wiederherstellung mit Prüfnachrichten (auditRecovery) angegeben ist, wird - sofern kein Fehler auftritt - nur eine Wiederherstellungsnachricht mit der Anzahl der wiederhergestellten Transaktionen ausgegeben.
com.ibm.websphere.tx.clientInactivityTimeout java.lang.String 0 Gibt den maximalen Zeitraum (in Sekunden) zwischen Transaktionsanforderungen an. Alle Clientinaktivitätszeiträume, die dieses Zeitlimit überschreiten, führen dazu, dass die Transaktion in diesem Anwendungsserver rückgängig gemacht wird. Die Standardeinstellung 0 bedeutet, dass kein Zeitlimit gilt.
com.ibm.websphere.tx.enableLoggingForHeuristicReporting java.lang.String false Diese Eigenschaft aktiviert die Protokollierung für Heuristik. Falls die Unterstützung des letzten Teilnehmers aktiviert ist, müssen für die heuristischen Berichte, die bei Nichtverfügbarkeit des Servers erstellt werden, zusätzliche Informationen in das Transaktionsprotokoll geschrieben werden. Sofern diese Option aktiviert ist, wird für jede Transaktion, an der 1-PC- und 2-PC-Ressourcen beteiligt sind, eine zusätzliche Schreiboperation im Protokoll durchgeführt. Es werden keine zusätzlichen Datensätze für Transaktionen geschrieben, die keine 1-PC-Ressourcen enthalten.
com.ibm.websphere.tx.heuristicRetryLimit java.lang.String 0 Gibt an, wie oft der Transaktionsservice ein Beendigungssignal (wie Commit oder Rollback) wiederholt. Die Wiederholungen finden nach einer vorübergehenden Ausnahme von einem Ressourcenmanager statt. Der Standardwert 0 zeigt an, dass die Anzahl der Wiederholungen unbegrenzt ist.
com.ibm.websphere.tx.heuristicRetryWait java.lang.String 0 Gibt an, wie viele Sekunden der Transaktionsservice nach einer vorübergehenden Ausnahme vom Ressourcenmanager wartet, bevor er ein Beendigungssignal wie Commit oder Rollback wiederholt
com.ibm.websphere.tx.LPSHeuristicCompletion java.lang.String ROLLBACK

(Groß-/Kleinschreibung muss beachtet werden)

Die heuristische Fertigstellungsaktion, die der Transaktionsservice in einer Transaktion mit Unterstützung des letzten Teilnehmers ausführen muss, wenn das Ergebnis der Ressource mit einphasiger Festschreibung unbekannt ist. Die Werte ROLLBACK und COMMIT bewirken, dass die Ressourcen mit zweiphasiger Festschreibung entsprechend abgeschlossen werden. Die Einstellung MANUAL bedeutet, dass der Transaktionsservice keine Aktion ausführt und Ressourcen mit zweiphasiger Festschreibung unbestätigt lässt. Der Standardwert ist ROLLBACK.
com.ibm.websphere.tx.maximumTransactionTimeout java.lang.String 300 Gibt den oberen Grenzwert für das Transaktionszeitlimit in Sekunden an. Dieser Zeitlimitwert ist die Obergrenze für alle anderen Zeitlimits.
com.ibm.websphere.tx.totalTranLifetimeTimeout java.lang.String 120 Gibt die maximale Standardzeit (in Sekunden) für eine Transaktion an, nach der der Transaktionsservice eine Zeitlimitüberschreitung einleitet. Alle Transaktionen, die bei Ablauf dieses Zeitlimits noch nicht abgeschlossen sind, werden rückgängig gemacht.
com.ibm.websphere.tx.tranLogDirectory java.lang.String profiles\Servername\tranlog Gibt den Namen eines Verzeichnisses für den Server an, in dem der Transaktionsservice die Protokolldateien für die Wiederherstellung speichert.
com.ibm.websphere.tx.tranLogSize java.lang.String 1024 Gibt die Größe von Transaktionsprotokolldateien in Kilobytes an. Die Mindestdateigröße liegt bei 64 KB. Standardmäßig wird die Dateigröße auf 1 MB gesetzt.

Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rejb_emconproperties
Dateiname:rejb_emconproperties.html