Servigistics InService Anpassung > Systemintegrationen anpassen > Benutzerdefinierte Delegates auf dem Server erstellen
  
Benutzerdefinierte Delegates auf dem Server erstellen
In Servigistics InService ist ein Delegate eine Schnittstelle, mit der Sie einen benutzerdefinierten Delegate erstellen können, um benutzerdefinierten Servercode mit integrierten Methoden von Servigistics InService Delegates zu implementieren. Um einen benutzerdefinierten Delegate zu erstellen, verwenden Sie eine benutzerdefinierte Java-Klassendatei.
Führen Sie die folgenden Schritte aus, um benutzerdefinierten Servercode mit einem benutzerdefinierten Delegate zu implementieren:
1. Halten Sie alle coreServer-, coreCMIserver- und JBoss-Dienste an, die ausgeführt werden.
2. Führen Sie die folgenden Schritte aus, um eine benutzerdefinierte Java-Klassendatei zu erstellen:
a. Erstellen Sie die Java-Programmiersprachen-Quelldatei (.java-Datei) für die Java-Klassendatei, die Sie als benutzerdefinierten Delegate implementieren möchten.
b. Erstellen Sie eine Verzeichnisstruktur entsprechend der Delegate-Dateiimplementierungsklasse im benutzerdefinierten Ordner. Der benutzerdefinierte Ordner befindet sich im Verzeichnis <INS_HOME>/InS_SW/SW/Applications/Windchill.ear/codebase.war/delivery.
c. Legen Sie die Java-Programmiersprachen-Quelldatei (.java-Datei) mit der Java-Klasse in der Ordnerstruktur ab, die Sie in Schritt 2.b. erstellt haben.
d. Führen Sie den folgenden Befehl aus, um die Java-Programmiersprachen-Quelldatei zu kompilieren und so die entsprechende Java-Klassendatei zu erstellen:
javac –g InService/InS_SW/SW/Applications/Windchill.ear/codebase.war/
custom/com/ptc/sc/services/plugins/<FILE_NAME>.java
<FILE_NAME> ist der Name der Java-Programmiersprachen-Quelldatei.
e. Legen Sie die Java-Klassendatei in derselben Verzeichnisstruktur ab wie die Delegate-Dateiimplementierungsklasse. Beispiel: <INS_HOME>/InS_SW/SW/Applications/Windchill.ear/codebase.war/WEB-INF/classes/com/ptc/sc/services/plugins. Erstellen Sie die Verzeichnisstruktur, wenn sie nicht bereits vorhanden ist.
3. Führen Sie die folgenden Schritte aus, um die benutzerdefinierte Java-Klassendatei als benutzerdefinierten Delegate zu registrieren:
a. Öffnen Sie die Datei sc-service.properties.xconf im Verzeichnis <INS_HOME>/InS_SW/SW/Applications/Windchill.ear/codebase.war/com/ptc/sc/xconf.
b. Fügen Sie die Eigenschaft für den benutzerdefinierten Delegate in der Datei sc-service.properties.xconf hinzu, um den benutzerdefinierten Delegate in Servigistics InService zu registrieren.
c. Führen Sie das Dienstprogramm xconfmanager aus, um die neue Eigenschaft zu übertragen.
4. Starten Sie die coreServer-, coreCMIserver- und JBoss-Dienste neu.
In diesem Beispiel erstellen Sie einen benutzerdefinierten Delegate mit der Java-Klassendatei CustomPricingDelegate.
Führen Sie die folgenden Schritte aus, um benutzerdefinierten Servercode mit dem benutzerdefinierten Delegate CustomPricingDelegate zu implementieren:
1. Halten Sie alle coreServer-, coreCMIserver- und JBoss-Dienste an, die ausgeführt werden.
2. Führen Sie die folgenden Schritte aus, um die benutzerdefinierte Java-Klassendatei CustomPricingDelegate zu erstellen:
a. Erstellen Sie die Datei CustomPricingDelegate.java für die Java-Klassendatei CustomPricingDelegate.
b. Erstellen Sie die folgende Verzeichnisstruktur im benutzerdefinierten Ordner: custom/com/ptc/sc/services/plugins. Der benutzerdefinierte Ordner befindet sich im Verzeichnis <INS_HOME>/InS_SW/SW/Applications/Windchill.ear/codebase.war/delivery.
c. Legen Sie die Datei CustomPricingDelegate.java im Ordner Plugin der Verzeichnisstruktur ab, die Sie in Schritt 2.b. erstellt haben.
d. Führen Sie den folgenden Befehl aus, um die Datei CustomPricingDelegate.java zu kompilieren und die Java-Klassendatei CustomPricingDelegate zu erstellen:
javac –g InService/InS_SW/SW/Applications/Windchill.ear/codebase.war/
custom/com/ptc/sc/services/plugins/CustomPricingDelegate.java
e. Legen Sie die Java-Klassendatei CustomPricingDelegate im Verzeichnis <INS_HOME>/InS_SW/SW/Applications/Windchill.ear/codebase.war/WEB-INF/classes/com/ptc/sc/services/plugins ab. Erstellen Sie diese Verzeichnisstruktur, wenn sie nicht bereits vorhanden ist.
3. Führen Sie die folgenden Schritte aus, um die Java-Klassendatei CustomPricingDelegate als benutzerdefinierten Delegate CustomPricingDelegate zu registrieren:
a. Öffnen Sie die Datei sc-service.properties.xconf im Verzeichnis <INS_HOME>/InS_SW/SW/Applications/Windchill.ear/codebase.war/com/ptc/sc/xconf.
b. Fügen Sie die folgende Eigenschaft in der Datei sc-service.properties.xconf hinzu, um den benutzerdefinierten Delegate CustomPricingDelegate in Servigistics InService zu registrieren:
<Service context="default" name="com.ptc.sc.services.plugins.
PricingDelegate">
<Option serviceClass="com.ptc.sc.services.plugins.
CustomPricingDelegate" requestor="null"
cardinality="duplicate" />
</Service>
c. Führen Sie das Dienstprogramm xconfmanager aus, um die neue Eigenschaft zu übertragen.
4. Starten Sie die coreServer-, coreCMIserver- und JBoss-Dienste neu.