Mirror of the lttng-dev mailing list
 help / color / mirror / Atom feed
From: alexandre.montplaisir@polymtl.ca (Alexandre Montplaisir)
Subject: [lttng-dev] [UST PATCH] Build a jar for the Java side of the JNI interface
Date: Wed, 11 Apr 2012 22:28:51 -0400	[thread overview]
Message-ID: <4F863DE3.10504@polymtl.ca> (raw)
In-Reply-To: <20120411225027.GA31311@Krystal>

On 12-04-11 06:50 PM, Mathieu Desnoyers wrote:
> With this, is the java application visible from lttng-tools before the
> first JNI call is done ?

No, not yet. This patch only adds the makefile target.

I'm still experimenting with the contents of .java file (namely, adding
support for other tracepoints types). Something like "LTTngUst.init()"
will be needed eventually, since Java classes are lazy-loaded. This
init() can also serve as a check for the liblttng-ust-java.so library,
which will avoid blowing up the application if that library is not found
at runtime.


-- 
Alexandre Montplaisir
DORSAL lab,
?cole Polytechnique de Montr?al


>
> * Alexandre Montplaisir (alexandre.montplaisir at polymtl.ca) wrote:
>> Signed-off-by: Alexandre Montplaisir <alexandre.montplaisir at polymtl.ca>
>> ---
>>  liblttng-ust-java/.gitignore    |    1 +
>>  liblttng-ust-java/LTTngUst.java |    2 +-
>>  liblttng-ust-java/Makefile.am   |    8 ++++++--
>>  liblttng-ust-java/README        |    5 +++++
>>  4 files changed, 13 insertions(+), 3 deletions(-)
>>
>> diff --git a/liblttng-ust-java/.gitignore b/liblttng-ust-java/.gitignore
>> index 677373e..e07ee50 100644
>> --- a/liblttng-ust-java/.gitignore
>> +++ b/liblttng-ust-java/.gitignore
>> @@ -1,2 +1,3 @@
>>  org_lttng_ust_LTTngUst.h
>>  org/
>> +liblttng-ust-java.jar
>> diff --git a/liblttng-ust-java/LTTngUst.java b/liblttng-ust-java/LTTngUst.java
>> index d3f1eda..68ed120 100644
>> --- a/liblttng-ust-java/LTTngUst.java
>> +++ b/liblttng-ust-java/LTTngUst.java
>> @@ -18,7 +18,7 @@
>>  
>>  package org.lttng.ust;
>>  
>> -class LTTngUst {
>> +public class LTTngUst {
>>  	public static native void tracepointString(String name, String arg);
>>  	static {
>>  		System.loadLibrary("lttng-ust-java");
>> diff --git a/liblttng-ust-java/Makefile.am b/liblttng-ust-java/Makefile.am
>> index 9e01e04..7e1834a 100644
>> --- a/liblttng-ust-java/Makefile.am
>> +++ b/liblttng-ust-java/Makefile.am
>> @@ -7,10 +7,11 @@ liblttng_ust_java_la_SOURCES = LTTngUst.c org_lttng_ust_LTTngUst.h lttng_ust_jav
>>  dist_noinst_DATA = LTTngUst.java
>>  liblttng_ust_java_la_LIBADD = -lc -L$(top_builddir)/liblttng-ust/.libs -llttng-ust
>>  
>> -all: LTTngUst.class org_lttng_ust_LTTngUst.h
>> +all: LTTngUst.class org_lttng_ust_LTTngUst.h liblttng-ust-java.jar
>>  
>>  clean-local:
>> -	rm  org_lttng_ust_LTTngUst.h
>> +	rm org_lttng_ust_LTTngUst.h
>> +	rm liblttng-ust-java.jar
>>  	rm -rf org/
>>  
>>  LTTngUst.class: LTTngUst.java
>> @@ -19,4 +20,7 @@ LTTngUst.class: LTTngUst.java
>>  org_lttng_ust_LTTngUst.h: LTTngUst.class
>>  	javah org.lttng.ust.LTTngUst
>>  
>> +liblttng-ust-java.jar: LTTngUst.class
>> +	jar cf liblttng-ust-java.jar org/*
>> +
>>  endif
>> diff --git a/liblttng-ust-java/README b/liblttng-ust-java/README
>> index 37834e6..4b4d2c6 100644
>> --- a/liblttng-ust-java/README
>> +++ b/liblttng-ust-java/README
>> @@ -10,3 +10,8 @@ dependency: openjdk-6-jdk
>>  
>>  dependency: gcj-4.4-jdk
>>  ./configure --with-java-jdk=/usr/lib/jvm/java-gcj --with-jni-interface
>> +
>> +
>> +After building, you can use the liblttng-ust-java.jar file in a Java project.
>> +It requires the liblttng-ust-java.so* files (which get installed when doing
>> +`make install') so make sure those are in the linker's library path.
>> -- 
>> 1.7.9.1
>>
>>
>> _______________________________________________
>> lttng-dev mailing list
>> lttng-dev at lists.lttng.org
>> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev



  reply	other threads:[~2012-04-12  2:28 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-11 19:24 Alexandre Montplaisir
2012-04-11 22:50 ` Mathieu Desnoyers
2012-04-12  2:28   ` Alexandre Montplaisir [this message]
2012-04-12 13:36     ` Mathieu Desnoyers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F863DE3.10504@polymtl.ca \
    --to=alexandre.montplaisir@polymtl.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox