ThingWorx 拡張機能をアップグレードする際の考慮事項
拡張機能をアップグレードする際には、以下の最良事例を使用します。
ThingWorx 8.4 以降のリリースへのアップグレード
JSON ライブラリは ThingWorx 8.4 以降のリリースには付属していません。拡張機能プロジェクトが JSON ライブラリを必要とする場合、以下のように build.gradle ファイルを更新します。
dependencies ブロックに以下のコードを追加します。
compile group: 'org.json', name: 'json', version: '20090211'
gradle ファイルの任意の場所に以下のコードを追加します。
repositories {
jcenter()
}
Java ベースの拡張機能のアップグレード
Java ベースの拡張機能をアップグレードする際には、以下の最良事例を使用します。
新規バージョンをインポートすることで Java ベースの拡張機能をアップグレードする場合、プラットフォームを再起動します。プラットフォームが再起動すると、拡張機能の ZIP ファイルがキューに入ります。
/ThingworxStorage/extensions/upgradequeue
Tomcat サーバーを再起動すると、ThingWorx はキューに入れられた拡張機能の ZIP ファイルのインポートを試みます。
プラットフォームを再起動した後でアプリケーションログをチェックして、キューに入っているすべての拡張機能が正常にインポートされたことを確認します。
複雑な Java ベースの拡張機能のインプレースアップグレードが可能です。ただし、Tomcat クラスローダーは以下のシナリオでは Java ベースの拡張機能のインプレースアップグレードを許可しません。
新規 Java ベースエンティティを JAR に追加する場合
JAR 内の Java ベースエンティティを削除または名前変更する場合
そのような場合、以下の次善策を検討してください。
そのサービスが JavaScript でのみ実装される場合、新規エンティティを作成できます。
新規機能のための新規拡張機能を作成し、別個の JAR ファイルをさらに作成することをお勧めします。
更新された拡張機能は以前のバージョンの機能を維持
以前のバージョンからロードされたクラスによって、拡張機能は以前のバージョンの機能を維持します。更新された拡張機能をロードするには、Tomcat を再起動します。