DBus Broker

From PlcWiki

(Difference between revisions)
Jump to: navigation, search
m (Created page with '== INSTALACE == 1. Nativní knihovny zpřístupnit pro Tomcat pomocí parametru JVM a nakonfigurovat cestu v souboru conf/tomcat5.conf pomocí proměnné JAVA_OPTS="-Djava.libr…')
m
Line 1: Line 1:
 +
DBusBroker je knihovna umožňující webovským aplikacím komunikaci s DBus.
 +
== INSTALACE ==
== INSTALACE ==

Revision as of 07:03, 12 October 2012

DBusBroker je knihovna umožňující webovským aplikacím komunikaci s DBus.

INSTALACE

1. Nativní knihovny zpřístupnit pro Tomcat pomocí parametru JVM a nakonfigurovat cestu v souboru conf/tomcat5.conf pomocí proměnné JAVA_OPTS="-Djava.library.path=/usr/lib". Ve zvoleném adresáři bude Tomcat očekávat *.so knihovny.Špatně nastavené cesty ke knihovnám generují výjimku: UnsatisfiedLinkError: no unix-java in java.library.path.

2. Knihovnu (jar) tohoto projektu umístit do složky shared/lib a ujistit se, že v konfiguraci conf/tomcat5.conf je v parametru JAVA_OPTS povolena tato cesta -Dcatalina.ext.dirs=$CATALINA_HOME/shared/lib. Pozor, knihovna nesmí být zároveň i u aplikace (webapps). Toto celé je z důvodu, aby Tomcat sdílel globálně jeden classloader, ve kterém je načtena třída používající nativní knihovny. Kdyby to tak nebylo, tak by např. běh aplikace po redeployi způsobil výjimku: Native library already loaded in another classloader.

3. Knihovna dbus_localized.zip může být kdekoliv v classpath aplikace.

4. Aplikace, která bude používat DBus, bude volat např. nějaký takovýto kód: String status = new DBusClient().getRemotePMC("cz.clever.pmc.testingdq").getStatus();

OTEVŘENÉ BODY

1. ad1: Cestu k nativním knihovnám by mělo jít nastavit i pomocí systémové proměnné LD_LIBRARY_PATH, nebo správným umístěním knihoven přímo do systému.

2. ad1: Knihovny *.so by měli být vygenerovány (make) pro správnou architekturu. Zatím neexistuje oficiální distribuce (rpm,...). Nová verze zdrojových souborů: http://cgit.freedesktop.org/dbus/dbus-java/

libmatthew-java installation guide

To compile libmatthew-java you will need a Java 1.4 or better JDK, and a standard unix build environment including a C compiler.

The libraries can be compiled and installed with `make' and `make install' respectively. By default they will be installed into /usr/local/share/java and /usr/local/lib/jni. This location can be configured by giving PREFIX, JARDIR and LIBDIR variables to make.

Personal tools