-
Notifications
You must be signed in to change notification settings - Fork 74
Troubleshooting
In order to troubleshoot the quantcomponents framework, the first place to look is the Error Log view.
Look for exceptions there by filtering with quantcomponents.
Equinox, the OSGi framework of Eclipse, offers a powerful suite of tools to check the status of bundles and
services.
Since quantcomponents relies heavily on the OSGi framework, most problems in the initial setup
are due to an error in the OSGi configuration.
To access the OSGi console, open the Console view in Eclipse, and select Host OSGi console in the
dropdown menu.
The most useful commands are:
-
ss | grep <bundle_name>
to check if a bundle (plugin) has been installed, and if it has been activated.
Not all bundles need to be activated. This is the list of the ones that should be active in the standalone configuration: - org.apache.felix.fileinstall=3.2.4
- org.eclipse.equinox.cm
- org.ops4j.pax.jdbc.derby
- com.quantcomponents.algo.container.serializing
- com.quantcomponents.algo.service
- com.quantcomponents.algo.ta
- com.quantcomponents.core.osgi
- com.quantcomponents.ib
- com.quantcomponents.marketdata.osgi
- com.quantcomponents.marketdata.service
- com.quantcomponents.series.jdbc.derby
- com.quantcomponents.tradingcalendars
- com.quantcomponents.ui.log
-
ls | grep <bundle name>
to get information about the components: almost all quantcomponents bundle are activated as components. - more information about a components can be obtained with:
comp <component number>
, where is the output ofls
. -
services | grep <bundle name>
shows the status of a services provided by a bundle. [this page](Services screenshot) shows a screenshot of the active services in a working installation.
If you are behind a firewall, the Yahoo!Finance adapter must be configured with the proxy's hostname and port.
This is done by adding the following options in eclise.ini:
-Dhttp.proxy.host=<the hostname of the proxy>
-Dhttp.proxy.port=<the port number (typically 8080)>
and restarting Eclipse.
Probable causes:
-
Missing configuration for the IB adapter.
If Equinox (more precisely the Config Admin services) has no configurations for the IB adapter, then it doesn't instantiate it, but the Market Data Manager needs it (at least it needs amy IMarketDataProvider service), in order to start.
The IB adapter configuration is created by the Apache Felix Fileinstall module from the com.quantcomponents.ib.adapter.cfg file that should be in the configuration directory as explained [here](Eclipse feature installation). If the com.quantcomponents.ib plugin is active, you can check its status by typing:
ls | grep com.quantcomponents.ib plugin
and using the ID found to check the component status:
comp <ID>
.
In case the configuration is missing, this will be reported by the output of this command. -
If the IB adapter configuration file is present, then you must check that the Apache Felix Fileinstall is active.
First of all, look for the plugin in the Plugins view. If you can't find it here it means that the corresponding bundle org.apache.felix.fileinstall_3.2.4.jar has not been copied into the dropin folder (refer to [this](Eclipse feature installation) page), or something went wrong with its installation. Restart Eclipse. If you can't see it after restarting, maybe some of its dependencies is missing. Check this page to get more information.
If the plugin is present, open the Console view, select the Host OSGi console:
Then type:ss | grep org.apache.felix.fileinstall
if the service is active you should see something similar in response:
58 ACTIVE org.apache.felix.fileinstall_3.2.4
In case it is not, the most likely causes is an error in the initial startup of the standalone configuration. Open the Error Log view and look for this line:
Auto-starting QuantComponents framework
search for any exception or error after this line. -
If the two previous points are OK, then the OSGi org.osgi.service.cm.ConfigurationAdmin service is not active. This can be checked as for the previous point, by checking the existence of the Configuration Admin Equinox plugin: org.eclipse.equinox.cm and its activation.
-
The Market Data Manager depends also on the service: com.quantcomponents.marketdata.IStockDatabaseContainer to be available. Check the status of this service on the host OSGi console, as explained at the beginning of this page.
Check that the services:
- com.quantcomponents.algo.ITradingManager
- com.quantcomponents.algo.ITradingAgentHierarchyContainer are active in the host OSGi console. Check the beginning of the page if you are unsure how to do it.