For Domino customers on v9 or 10, you might be familiar with debugging a Java agent remotely on IBM JVM using the following server ini’s and set Port 8000 in Debug Configuration from the Designer client:

JavaEnableDebug=1
JavaDebugOptions=transport=dt_socket,server=y,suspend=n,address=8000 

This will work up to Domino v10 but not on Domino v11. In fact, doing so will cause it to crash! This article is going to help developers looking for a way to debug Java agents remotely on Domino v11. The pre-requisites are: 

  1. Domino v11 or above on Windows Server 2016 / 2019.
  2. HCL Domino Console.
  3. Notes, Designer and Administrator Client v11 or above.
  4. Java agent to be debugged.
  5. Any Web Browser to run Java agent. 

Domino v11 uses OpenJDK. With the above ini’s enabled, both the JVMs would attempt to bind to same port (8000) and the second process that attempts to bind to this port would fail and crash. To overcome this problem, the idea is to remove the Port 8000 from the Debug and attach it to some other random Port. 

First, you will need to add the below ini’s to the server’s notes.ini.  

JavaEnableDebug=1 
JavaDebugOptions=transport=dt_socket,server=y,suspend=n 

Note that we are not binding the Debug to Port 8000 by omitting address=8000, as compared to ini which was set on earlier version of Domino. 

The JVM will then pick a random port. To know the random Port number, simply quit and load http or run your Java agent from web browser and check the console from HCL Domino Console Program. You will need to restart http task after adding those ini’s to make it work. 

Note down this Port number somewhere as you would need it in next step. (The server console in the Administrator Client doesn’t show the Port number information.)

With your Port number, you are going to bind to the Debug from the Designer client. Go to Tools menu > Debug Server-side Javascript > Manage Debug Configuration

You should land on the Debug Configuration window. Here you need to mention the Port number which you noted down from the HCL Domino Console in the earlier step and then select Debug. 

You should see this message in Status bar which confirms Debug has connected on the Port number you mentioned.

You are now ready with the Debug configuration and set to debug your Java agent. You’ll need to set the breakpoints in your Java code to debug the same. You can set multiple breakpoints. 

Once you have set the breakpoints in your code, run the agent from the web browser. You should see a Confirmation window on Designer client to open Debug perspective window. Select Yes. 

The Designer perspective will change to Debug perspective which contains views for displaying the debug stack, variables and breakpoint management. 

At this point, the usual Eclipse debugger features will become available (managing breakpoints, stepping, continuing, viewing variable values, etc). 

The steps to debug a scheduled Java agent (AMGR) will remain the same. Instead of waiting until the agent is scheduled, run the agent from server console using “Tell amgr run” command. Get the Port number from HCL Domino Console Program by running Java agent using “Tell amgr run” command and then set the Port number in Debug configuration as we did in the earlier steps.  

This completes the steps on how you can debug Java agent remotely on Domino v11. We hope you enjoyed reading this article and you have find it helpful.

Happy coding 🙂 

 

 

Comment wrap
Further Reading
article-img
Digital Solutions | March 1, 2021
The Low Down on HCL Domino v12 Beta 2 and Beta 3
A month ago we released the first beta drop of HCL Domino v12 and we’re excited to see such a high level of engagement among our customers, ambassadors and business partners. Two weeks ago, we announced the drop of Beta 2 and hosted a webinar with an overwhelming number of live questions — 118 to be exact! If you missed the webinar, you can catch the replay here. We also picked the most popular questions about our beta program and v12 , and have published those — along with the answers — here.   To keep up with this exciting momentum, please join us at our next webinar about beta 3 on March 30, at 10AM ET. Register here. Beta 3 will be the last beta drop before the v12 release, so don’t miss your chance to participate and help us shape the future of HCL Domino! In fact, don’t wait for the next beta drop. All existing customers are automatically entitled to download the software packages from Flexnet today. We look forward to your feedback. Beta Q&A  Still have unanswered questions about the beta? Submit them in the beta forum. Q: Is there a way to tell if issues raised in the beta forum are included/fixed in beta 2 or 3?  A: The list of SPRs fixed in beta2 can be found in the release notes. Please see here. Q: When can we expect the 64-bit standard client?  A: Our plan is to start with the basic Notes client first in v12 beta 3, and then release the 64-bit standard client in a beta post v12 GA. Q: Is the C-API toolkit updated and available as part of this beta?  A: We released the C-API toolkit for v11 and will update for v12 post release. Q: Is two-factor authentication available?  A: Yes, feel free to try it out today!  Q: If I load the beta on my system, will upgrading to v12 Prod work?  A: When going from the beta version to the GA version, we recommend uninstalling the beta and installing v12 as a clean new install. Q: Is there a backlog of undo/redo?  A:...
article-img
Digital Solutions | February 3, 2021
HCL Domino Support Update
HCL Digital Solutions would like to take this opportunity to clarify the requirement for offering Support subscription for the various HCL Domino Programs. This blog covers two such cases related to partial renewals that are not permitted. Specifically, HCL Digital Solutions does not permit: 1. Partial renewal of HCL Domino Programs under Non-Expiring (“Perpetual”) License. I.e., Licensee cannot renew a lesser quantity than the entitled volume to obtain Support. 2. Separate renewal of Client-only or Server-only licenses where both are needed for a production environment and must be on Support for all users.   Here are the requirements for the HCL Domino Programs that can subscribe to Support (1) for Perpetual Licenses beyond the initial 12 months: All-inclusive Per User Licenses (i.e., all server entitlements included with the per user license)  HCL Domino Complete Collaboration Business Edition (CCB/CCX) HCL Domino Volt User HCL CEO Communications User HCL Collaboration Express User HCL Messaging Express User  To receive Support for any above Program, each User must be under Support. Licensee cannot have some Users on Support and others not, which precludes any partial Support renewals of Perpetual Per User Licenses. 2. Stand Alone Server Licenses  HCL Domino Utility Processor Value Unit (“PVU”)  HCL Domino Utility Express Processor Value Unit (“PVU”)  To receive Support for either of these Programs, all PVUs as entitled must be under Support. This precludes any partial Support renewals of Perpetual Utility Server and Utility Server Express Licenses.  3. Client and Server Licenses    HCL Domino Enterprise Client Access HCL Domino Enterprise Processor Value Unit (“PVU”)  As stated in the License Information (LI), each of these parts are interdependent and form one logical Program. Specifically, the HCL Domino Enterprise Server License Information mandates the corresponding Client License for any productive use (for all in-market versions).  From the HCL Domino Enterprise Server V10.0.1 License: “Use of the Program by any means of Authenticated Access requires an entitlement to HCL Domino Enterprise client access, or a subscription to either HCL SmartCloud Notes or a HCL Connections Cloud S1.” (2)  Further, the most recent Domino v9.0.x and Domino v10.0.x Support Update [KB0085697] documents the packaging and Support dependency for HCL Domino Enterprise Client and Server side as one Program, why these cannot...
article-img
Digital Solutions | January 20, 2021
Start Your Engines! HCL Domino v12 Beta is Here! Are You Ready?
If you joined us at Digital Week 2020, you’ve probably heard about the preview of Domino v12. (It was the most popular session of the event!) Now that the release of v12 is around the corner, we would like to provide all current customers an exclusive preview. Today, we’re officially launching the first public beta of Domino v12!   We are inviting you to join this beta program and take part in shaping the future of our product, helping us deliver the best-ever product experience! All existing Domino customers are automatically entitled and will be able to download the required software packages from Flexnet today. (See below for Q&A.)  The goal of the Domino v12 Beta Program is for our community of beta participants to conduct an honest, constructive, and thoughtful review and testing of the Domino v12 beta software, which includes HCL Domino V12 , HCL Notes V12 , HCL Domino Designer & Admin V12 and HCL Traveler V12   In the first phase of the beta program, we are delivering the following components:   Domino on Docker Domino for Windows, Linux, AIX Traveler for Windows, Linux, AIX Notes Standard for Windows   Notes Standard for Mac   Designer and Admin Client   At a later stage of the beta program, we will be providing Domino and Traveler for IBMi. In v12 Beta 1, we are supporting English and 15 language translations:  Arabic Brazilian Portuguese Czech Dutch French German Italian Japanese Korean Polish Russian Swedish Spanish Simplified Chinese Traditional Chinese  Beta participants, please let us know how you think about the product by submitting your feedback in our beta forum. For general input and new ideas or feature enhancement requests, please use the Domino ideas forum here.   v12 Beta 1 Highlights  Domino  Reduce your total cost of ownership by using DAOS tier 2 objects across servers   A wide range of security improvements including: - Two Factor Authentication (TOTP) - Automated SSL/TLS certificate management with built-in support for Let’s Encrypt - Implementing IP based blocking of failed authentication attempts based on this idea - And many more Automate your Domino server installation and initial...
Close