Extend Jetty by DOORS Next and Global Config?
![]() Hi,
we have to develop the following:
So here is our issue: Our current setup uses a jetty-based debug server as suggested in IBM Rational Team Concert 7.x Extensibility Workshop.
The jetty-based debug server has ...
Any ideas, how the debugging setup could look like when developing cross-domain plugins?
Thanks in advance for any hints :)
-- Kerstin and Thomas
|
3 answers
![]()
Ralph Schoon (63.3k●3●36●46)
| answered Feb 22 '22, 2:18 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER The RTC Extensions Workshop is based on the EWM/RTC SDK. There are no SDK's available for any application other than EWM/RTC. The availability of the SDK and the ability to set up the plugin development environment in Eclipse with the SDK and the contained target platform make it possible to
"Jetty could be extended by....." makes no sense.
As far as I can tell, you should be able to install a full ELM on Liberty following the the extensions workshop, run the WorkshopSetup and follow the extensions workshop. You can setup your test data on that system. You can debug the RTC Extension on Liberty as shown in the Extensions Workshop 1.5__32 . This depends on the availability and the setup of the SDK. You can not debug DNG or any other of the applications because you do not have an SDK.
In a setup like the one above, or if you create a friends relationship from your Jetty EWM server to a DNG etc. server you can only debug RTC. The system however should be complete enough to test e.g. linking to DNG. Comments
Thanks a lot for your response.
We have a full ELM on Liberty. In our case, debugging as shown in the Extensions Workshop 1.5__32 on Liberty works in general.
However, at the moment we can not debug and test as we wish because our code to be tested/debugged should be triggered by saving a work item.
For that we have an operation participant (similar to the BuildOnStateChangeParticipant in the Workshop) that we'd like to add as follow-up action on Save Work Item (server) in the process configuration.
But on Liberty, this follow-up action can not be selected because it is unknown.
For Jetty, the bundles would be provided in the run configurations, so the follow-up action can be selected. I guess, the participant needs to be introduced somehow to Liberty as well.
Do we miss something obvious here?
The goal would be to start Liberty in debug mode, go to our ccm/admin and select our operation participant as follow-up action in the process configuration. After that it should be possible to modifiy a work item and test if the actions that we implemented work correctly.
Thanks in advance for any advices on that topic.
|
![]()
Ralph Schoon (63.3k●3●36●46)
| answered Mar 01 '22, 10:00 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER edited Mar 01 '22, 10:00 a.m. If an follow up action works on Jetty and it does not on Liberty, it is 99% due to a deployment issue. Plugin.xml missing, meta-inf missing. Generated with wrong Java, Plugin.xml incorrect, dependencies to client or not existing API. The CCM server log might provide hints.
You have client API in the server development workspace, if you are not careful, you pick that up in your dependencies. It would work in Jetty, but not in liberty. In Jetty it is surfaced by the workspace. In liberty it is unavailable. I found an old example of mine recently and discovered that I had such a case and did not realize since I did not test deploying that in liberty. Client API usually has .client. in the package name.
As explained in the extensions workshop you should be able to connect the Eclipse development client with the extension, connect debug to the liberty server, search for the server extension class and debug. Make sure your extension is correct and correctly deployed first.
Comments I tried to do the same with the Workshop example, because this setup should work, everything is configured as suggested, no missing plugin.xml, no dependencies to client etc.
I can add the two bundles for the participant (extensions.common and extensions.service) to Jetty but in the Liberty configuration there are no options for introducing the bundles. I guess I need to find an answer to the question: How can the participant be introduced to Liberty?
You Do Not Use Bundles on liberty. You create the required features, the update site and the provision profile. If you follow the workshop, this is explained in detail in the last lab. Once the extension is built, it is deployed (copied into) the ccm folder. You have to perform all the labs of the extensions workshop to be able to deploy it on liberty. |
![]()
Thanks a lot for the advices. Deployment on liberty works and our operation participant can be selected and tested.
However, when we started this thread we were hoping that there is another solution to debug/test on Liberty without going through the entire deployment process because this is very time-consuming during development. We were hoping for a debug/test solution similar to the Jetty approach but on our full ELM on liberty.
Comments ![]() FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
As far as I am aware there is not. Develop on Jetty as long as you can. Avoid to debug on Liberty. Once everything works on Jetty, deploy on Liberty and do final testing of deployment and function. |
Your answer
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.