packagePrefixExclusions (Eigenschaft)

Gibt eine durch Pipezeichen getrennte Liste mit Domänen und Unterdomänen der Java™-Pakete an, die Sie nicht in Stack-Traces einschließen wollen.

Wenn Sie die Eigenschaft stackTraceDepth mit der Eigenschaft packagePrefixExclusions verwenden, ignoriert pureQuery stackTraceDepth.

Es gibt keinen Standardwert. Sie können diese Eigenschaft nur verwenden, wenn Sie Anweisungen erfassen.

So kann es sein, dass Sie beispielsweise Einträge für Java-Pakete in einem IBM® Produkt und einer anderen Anwendung ausschließen wollen. Die Java-Pakete von IBM beginnen mit com.ibm. Die Java-Pakete für die andere Anwendung beginnen möglicherweise mit com.other. Sie können nun folgendermaßen filtern:
com.ibm|com.other
packagePrefixExclusions akzeptiert keine impliziten und keine expliziten Platzhalterzeichen. So sind beispielsweise die folgenden Einträge zum Filtern von Paketen, die mit com.ibm beginnen, nicht gültig:
  • Implizites Platzhalterzeichen
    com.i
  • Explizites Platzhalterzeichen
    com.i*

Sie können diese Eigenschaft lokal oder global festlegen, wie in Vorgehensweise beim Festlegen von Eigenschaften für die Clientoptimierung beschrieben. Wenn Sie sie in einer Datei pdq.properties festlegen, wird der Wert der Eigenschaft auf alle pureQueryXML-Dateien angewendet, die sich in den Anwendungen befinden, die auf die Datei pdq.properties verweisen. Wenn Sie die Eigenschaft als JVM-Systemeigenschaft festlegen, wird der Wert auf alle pureQueryXML-Dateien angewendet, die sich in der Anwendung befinden, die Sie mit dem Java-Befehl starten.

Für die Ausführung einer inkrementellen Erfassung: Wenn Sie nach der Erfassung von Anweisungen den Wert für packagePrefixExclusions ändern, vergleicht pureQuery in den folgenden Erfassungsvorgängen die vorhandenen Stack-Traces mit den neuen Stack-Traces. Wenn der neue Stack-Trace, der aus der an packagePrefixExclusions vorgenommenen Änderung resultiert, Teil des vorhandenen Stack-Trace ist, erfasst pureQuery den neuen Stack-Trace nicht.

Beispiel:

Der folgende Stack-Trace wurde von pureQuery mit packagePrefixExclusions und der Einstellung Test2 erfasst:

<trace>
	<traceEntry classFile="myClass" containingPkg="com.myPackage" fileName="Unknown Source" isNative="false" lineNo="" method="addBatch"/>
	<traceEntry classFile="jas114962" containingPkg="Test4" fileName="jas114962.java" isNative="false" lineNo="127" method="funaddbatch1"/>
	<traceEntry classFile="jas114962" containingPkg="Test4" fileName="jas114962.java" isNative="false" lineNo="117" method="funaddbatch_new"/>
	<traceEntry classFile="jas114962" containingPkg="Test3" fileName="jas114962.java" isNative="false" lineNo="118" method="funaddbatch_new"/>       
</trace>

Angenommen, Sie ändern den Wert von packagePrefixExclusions, und geben nun auch noch Test4 an: Test2|Test4

Wenn Sie nun eine inkrementelle Erfassung und dieselbe SQL-Anweisung ausführen, ist das Ergebnis der folgende Stack-Trace:

<trace>
	<traceEntry classFile="myClass" containingPkg="com.myPackage" fileName="Unknown Source" isNative="false" lineNo="" method="addBatch"/>
	<traceEntry classFile="jas114962" containingPkg="Test3" fileName="jas114962.java" isNative="false" lineNo="118" method="funaddbatch_new"/>
</trace>

Dieser Stack-Trace wird jedoch nicht von pureQuery erfasst. Stattdessen behält pureQuery den bisherigen Stack-Trace bei, da der gesamte neue Stack-Trace ein Teil des ursprünglichen Stack-Trace ist.

Wenn Sie den Wert von packagePrefixExclusion in Test4 ändern, erhalten Sie den folgenden Stack-Trace:

<trace>
	<traceEntry classFile="myClass" containingPkg="com.myPackage" fileName="Unknown Source" isNative="false" lineNo="" method="addBatch"/
	<traceEntry classFile="jas114962" containingPkg="Test3" fileName="jas114962.java" isNative="false" lineNo="118" method="funaddbatch_new"/>
	<traceEntry classFile="jas892832" containingPkg="Test2" fileName="jasmanoj.java" isNative="false" lineNo="114" method="funaddbatch"/>
	<traceEntry classFile="jas892832" containingPkg="Test2" fileName="jasmanoj.java" isNative="false" lineNo="91" method="main"/>
</trace>

In diesem Fall zeichnet pureQuery den neuen Stack-Trace auf, der kein Teil des ursprünglichen Stack-Trace war.


Feedback