IBM Support

Open Mic Webcast: Designing multi-threaded Domino Java applications - 6 March 2013 [Q&A, presentation, audio recording]



IBM Collaboration Solutions (Lotus) support wants to help you take full advantage of your products. Join us for our Open Mic webcasts as technical experts share their knowledge and answer your questions.

These webcasts are designed to address specific topics and provide an in-depth and focused technical exchange in a convenient online webcast format.


Topic: Designing multi-threaded Domino Java applications

Day: Wednesday, March 6, 2013
Time: 11:00 AM EST (16:00 UTC/GMT, UTC-5 hours) for 60 minutes

For more information about our Open Mic webcasts, visit the IBM Collaboration Solutions Support Open Mics page.

Presentation & Demo



Audio Replay (MP3 file)

Designing multi-threaded Domino Java applications Open Mic Mar 6 2013 (edited).mp3Designing multi-threaded Domino Java applications Open Mic Mar 6 2013 (edited).mp3

Q&A Transcript

Link to forum post related to this event.

Q. What about using the native notes lock methods? (i.e. Document.lock)
    A. The document lock is a very heavy method. Not perfomant used for thread synchronization. Document lock involves communication with a central server.

Q. I believe document locking only affects front-end edit access to the document. It does not affect back-end modifications.
    A. Correct, locking is to keep other users from interfering.
Note: Just a clarification on the example used in the presentation. Passing sessions to child threads is not so appropriate for server apps. This is a technique used for UI apps, say for servicing a button click that spins off a thread.

Q. If you recycle a Java Object using the Recycle() method,is it safe then to re-get your object?
    A. Yes, you'll go back to the database and it will be reinstantiated.

Note: Never recycle within a finalized clause; the result would be either a hang or a crash.

Q. Are you talking about writing Java agents or just talking about writing external Java classes that use Domino classes?
    A. The examples shown are Java applications that utilize our Notes.jar file call into Domino to access your information.

Q. There's no way to find any techniques using a Java agent if I wanted to do multi-threading with one session, is that correct?
    A. You can do it but I wouldn't recommend it. It doesn't buy you enough performance wise. Agents are not really the vehicle for servicing Web requests. You really need a free-standing server application for that or an add-in.

    If you're doing things that don't involve operations on the same database you can actually pass that session to another thread and use it. I would never cross databases on two threads; it's not going to work that well for you long term. But if you want to talk to different databases that could be done or make external calls to off servers.

Additional References

developerWorks articles
Domino Designer Help topics

Original publication date


Document information

More support for: IBM Domino Designer

Software version: 8.5.3

Operating system(s): Windows

Reference #: 7037716

Modified date: 06 March 2013