Skip to main content link. Accesskey S
  • Log In
  • Help
  • IBM Logo
  • Lotus Expeditor wiki
  • All Wikis
  • All Forums
  • Home
  • Product Documentation
  • Community Articles
  • Learning Center
  • IBM Redbooks
Community Articles Product Documentation Learning Center IBM Redbooks This category Lotus Expeditor 6.2.3 Documentation Custom Search Scope...
Search
Community Articles > Troubleshooting > An Overview of the OSGI Console
  • New Article
  • Share Show Menu▼
  • Subscribe Show Menu▼

About the Original Author

Van Staub
Contribution Summary:
  • Articles authored: 26
  • Articles edited: 13
  • Comments Posted: 4

Recent articles by this author

Sample: Toolbar and Menu Contributions

Expeditor user interface team best practices on toolbar and menu contributions

Sample: Component Properties

OverviewComponent properties allow developers to create code that at compile time has specific function but accepts flexible input at runtime. For example, a developer can create a component that uses a predefined component property to update the title tab's text within a composite ...

Sample: Multiuser Features

Overview When multiple users share the same workstation, the configuration is referred to as a multiuser installation. This means that a single Expeditor client exists and is shared among all users; however, each user has their own workspace containing configuration details specific to that ...

Sample: Starting Plugins

Overview By default, Eclipse plugins are lazy. Lazy is the technical term (located in the bundle's manifest) that means that plugins are started when a request is either directly made by the Platform to start the plugin or indirectly through class loading. For example, the latter case implies ...

Sample: HTTP Communication

Overview The enhanced HTTP client in Expeditor allows developers to quickly create code that requests data from remote servers over HTTP or HTTPS. The enhanced client wraps the standard Java URLConnectionclasses such that authenticated requests leverage the Accounts framework and HTTPS ...

Community articleAn Overview of the OSGI Console

Added by Van Staub | Edited by IBM contributor Van Staub on October 4, 2010 | Version 11
  • Edit
  • More Actions Show Menu▼
Rate this article 1 starsRate this article 2 starsRate this article 3 starsRate this article 4 starsRate this article 5 stars
expanded Abstract
collapsed Abstract
The OSGI console can assist with development investigation as well as with troubleshooting runtime errors in the field. Since the support team regularly makes use of the OSGI console, it's worth becoming familiar with basic commands.
Tags: support troubleshooting
ShowTable of Contents
HideTable of Contents
  • 1 Overview
  • 2 Starting the OSGI console with Lotus Expeditor
  • 3 Using the OSGI console
    • 3.1 Platform Crash or Hang
    • 3.2 Bundle Status
      • 3.2.1 Example
    • 3.3 Adusting Log Levels Dynamically
      • 3.3.1 Example

Overview


The OSGI console can assist with development investigation as well as with troubleshooting runtime errors in the field. Since the support team regularly makes use of the OSGI console, it's worth becoming familiar with basic commands.

Starting the OSGI console with Lotus Expeditor


When using the Lotus Expeditor Client, append -console to the Expeditor Client shortcut.  For example, C:\XPD621\rcp\rcplauncher.exe -console.

If using Lotus Notes 8, append -RPARAMS -console.  For example, C:\notes\notes.exe -RPARAMS -console.

When launching either, the OSGI console window will display in addition to the client.


 
Eclipse developers may already be familiar with the OSGI console.  It's often used in the IDE, but the same commands listed below can be used within the IDE as well.




Using the OSGI console


Commands can be input to the platform by typin the command next to the osgi> prompt.  If you do not see the prompt simply press enter.  For a complete list of commands available, type ? and then press enter.  The following sections describe helpful commands, but the list is by no means exhaustive.  The list is designed to get you acquinted with the OSGI console and describe some of the more frequent, helpful commands.

Platform Crash or Hang


Should a problem be encountered while running the Expeditor Client such as a platform hang or crash, the following commands provide useful data when conducting a postmortem investigation.

dump heap
dump threads
  • dump heap generates a JVM heap dump useful when analyzing heap memory usage or memory leaks
  • dump threads generates a javacore which can be used to analyze the stack trace of various threads; it's often useful to run dump threads several times and compare threads over time
See IBM Thread and Monitor Dump Analyzer for Javaexternal link for analyzing output from the above command. Additionally, the location of dump output may be redirected by editing the rcpinstall.properties file.

env.set.IBM_JAVACOREDIR=${rcp.data}/logs 
env.set.IBM_COREDIR=${rcp.data}/logs 
env.set.IBM_HEAPDUMPDIR=${rcp.data}/logs

 

Bundle Status


When trying to isolate why a particular feature may be failing, it's often necessary to understand the bundle's (plugin's) state: is it installed, is it started, or has it failed to start?  The OSGI console generally accepts either the bundle's symbolic name or the bundle ID.

ss
start
stop
diag
bundle
  • ss or short status list matching bundles and their state
  • start starts a bundle
  • stop stops the bundle
  • diag determines if the bundle has unresolved dependencies which could lead to runtime problems or an inability to use the bundle at runtime bundle displays a verbose set of information related to exported packages, dependencies, etc

Example


ss com.ibm.rcp.sync
ss sync
start com.ibm.rcp.syncui.schedule
start 606
diag com.ibm.rcp.syncui.schedule
bundle com.ibm.rcp.syncui.schedule


Adusting Log Levels Dynamically


To limit trace output or enable trace output on the fly, use the following command.

setlogrlev
  • setlogrlev dynamically adjusts log output provide the logger ID (bundle's symbolic name normally) and a level (FINEST, FINER, FINE)

Example


setlogrlev com.ibm.rcp.ui.launcher FINEST


You can adjust the trace level using FINEST, FINER, FINE, INFO, WARNING, CONFIG with lowering levels of detail respectively.  If using the above trace, click the Open button in the client to output trace.

  • Edit
  • More Actions Show Menu▼


expanded Attachments (0)
collapsed Attachments (0)
Edit the article to add or modify attachments.
expanded Versions (11)
collapsed Versions (11)
Version Comparison     
VersionDateChanged by              Summary of changes
This version (11)Oct 4, 2010 2:55:41 PMVan Staub  IBM contributor
10Oct 4, 2010 1:42:10 PMVan Staub  IBM contributor
9Sep 15, 2010 1:07:06 PMVan Staub  IBM contributor
8Sep 15, 2010 1:06:47 PMVan Staub  IBM contributor
7Sep 3, 2010 1:35:48 PMVan Staub  IBM contributor
6Sep 3, 2010 1:25:39 PMVan Staub  IBM contributor
5Sep 3, 2010 1:24:22 PMVan Staub  IBM contributor
4Sep 3, 2010 1:22:49 PMVan Staub  IBM contributor
3Sep 3, 2010 1:22:28 PMVan Staub  IBM contributor
2Sep 3, 2010 1:18:13 PMVan Staub  IBM contributor
1Sep 3, 2010 1:17:35 PMVan Staub  IBM contributor
expanded Comments (0)
collapsed Comments (0)
Copy and paste this wiki markup to link to this article from another article in this wiki.
Go ElsewhereStay ConnectedHelpAbout
  • IBM Collaboration Solutions wikis
  • IBM developerWorks
  • IBM Software support
  • Twitter LinkIBMSocialBizUX on Twitter
  • FacebookIBMSocialBizUX on Facebook
  • ForumsLotus product forums
  • BlogsIBM Social Business UX blog
  • Community LinkIBM Collaboration Solutions
  • Wiki Help
  • Forgot user name/password
  • Wiki design feedback
  • Content feedback
  • About the wiki
  • About IBM
  • Privacy
  • Accessibility
  • IBM Terms of use
  • Wiki terms of use