Community Tip - Learn all about the Community Ranking System, a fun gamification element of the PTC Community. X
Hi,
I've been developing ThingWorx extensions (resource types) using the Eclipse plugin. I have no issues to import the created extension, but when I update the extension like adding new features or modify services I've been developing, ThingWorx simply retains the old version's functionality. It doesn't matter even if I remove the old extension and upload the new one with higher version number.
The only workaround is by restarting Tomcat. For us this is an issue, since our instance is hosted in our service provider's premises and we need always ask our provider to restart Tomcat.
Is there any other way to achieve the same way? I assume yes, since extensions from the market place shouldn't have this issue or?
Regards,
Eero Penttinen
If you are developing server side extensions ( aka Java ) there isn't any other option rather than restarting Tomcat. It's related to Java Virtual Machine and dynamic library loading.
If you wan't to have "hot updates", you will have to develop using Server Side Javascript.
Thanks Carlos for clarifying this.
Is there any documentation how to develop server side JavaScript extensions? The Extension Development Guide Version 4.3 from March 2017 is very heavy based on Java. Can you for example use node.js?
Hi Eero,
Server Side Javascript it's not node.js , It's the standard way of programing Thing/ThingTemplate/ThingShapes through the Composer.
You can develop on TW without extensions at all, which it's your use case of Extensions?
Carles.
Hi Carles and thanks again (sorry for the previous typo),
Good to know that server side JS is the same environment as standard TWx.
We are developing a lot in TW without extensions but in some cases we do have need to use 3rd party libraries and SDKs for functionality not available in ThingWorx. Developing extensions is pretty straightforward once you have sorted out some of the "bumps on the road", but could be smoother. We try to make it smoother by developing unit test cases for the core functionality (non-TWx related part) but TW integration part is always the not-so smooth part of the development.
- Eero
Hi Eero,
If you need to use 3rd party Java libraries, then the only road it's Java extensions, and a Tomcat restart for each update.