JAddin for Domino
  • JAddin Java Framework for HCL Domino (Open Source)
  • Quick Start
    • 🚀Installation
    • 🐞Debugging Tips
    • â„šī¸Architecture
  • Download
    • 📖Documentation
    • âŦ‡ī¸Download
  • GitHub
    • Project Page
Powered by GitBook

JAddin Java Framework for HCL Domino (Open Source)

Java Toolkit for developers writing HCL Domino Server Add-ins

Free Download

Follow development at Mastodon #DominoJAddin

This tool is also shown on the HCL Domino Marketplace

Introduction

The open-source JAddin framework acts as a thin and easy to use layer between the HCL Domino RunJava task and your Java application code. It helps you to create Java server tasks by freeing you to learn all the HCL Domino add-in specifics, such as message queue handling, thread creation, communication with the console, resource cleanup, etc. It is written entirely in Java to support all HCL Domino versions and platforms (HCL Domino 9.0.1 FP8 and above).

Code Example

public class HelloWorld extends JAddinThread {

	// Declarations
	boolean terminateThread = false;
	
	// This is the main entry point. When this method returns, the add-in terminates.
	public void addinStart() {
		
		logMessage("Started with parameter: " + getAddinParameters());

		try {
			logMessage("Running on " + dbGetSession().getNotesVersion());
		} catch (Exception e) {
			logMessage("Unable to get Domino version: " + e.getMessage());
		}
		
		// Stay in main loop until termination signal set by addinStop()
		while (!terminateThread) {
			logMessage("User code is executing...");
			waitMilliSeconds(5000L);
		}
		
		logMessage("Terminated");
	}

	// This method is called by the JAddin framework when the command 'Quit' or 'Exit' is entered or during
	// Domino server shutdown. Here you must signal the addinStart() method to terminate itself and to perform any cleanup.
	public void addinStop() {
		
		logMessage("Termination in progress");
		
		// Signal addinStart method to terminate thread
		terminateThread = true;
	}
	
	// This method is called by the JAddin framework for any console command entered.
	@Override
	public void addinCommand(String command) {
		logMessage("You have entered the command: " + command);
	}
}

HCL Domino Console

> Load RunJava JAddin HelloWorld
16.06.2025 16:19:13   JVM: Java Virtual Machine initialized.
16.06.2025 16:19:13   RunJava: Started JAddin Java task.
16.06.2025 16:19:13   HelloWorld: Started with parameter: null
16.06.2025 16:19:13   HelloWorld: Running on Release 14.0FP4 March 10, 2025
16.06.2025 16:19:13   HelloWorld: User code is executing...
16.06.2025 16:19:18   HelloWorld: User code is executing...
16.06.2025 16:19:23   HelloWorld: User code is executing...
16.06.2025 16:19:28   HelloWorld: User code is executing...
> Tell HelloWorld Quit
16.06.2025 16:19:34   HelloWorld: Termination in progress
16.06.2025 16:19:35   HelloWorld: Terminated

Prerequisites

  • HCL Domino 9.0.1 FP8 or higher (Java Virtual Machine 1.8+ requirement)

Credits

Photo by Markus Spiske on Unsplash

Author

This framework was created to help implementing projects which required the use of HCL Domino server add-ins. If you encounter any issue or if you have a suggestion, please let me know.

You may contact me thru my email address andy.brunner@k43.ch.

Unlicense (see Wikipedia:Unlicense)

Created with love and passion in the beautiful country of 🇨🇭 Switzerland. This software shall be used for Good not Evil. As far as I know, no animal was harmed in the making of this software 😊

NextInstallation

Last updated 2 days ago

Was this helpful?

Page cover image