db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel John Debrunner <...@debrunners.com>
Subject Experimental JSR 169 patch and build instructions
Date Sat, 19 Feb 2005 00:59:28 GMT
I've managed to get Derby running with a simple test in
J2ME/CDC/Foundation/JSR 169. As promised here are the instructions and
patches to allow early testing.

1) Obtain a J2ME/CDC/Foundation environment with JSR 169 libraries.
   I used IBM's WCTME 5.7 (I'm employeed by IBM).
    http://www.ibm.com/software/wireless/wctme/

   I also found through google another J2ME CDC environment by Emsertec.
   I have no experience with it.
    http://www.esmertec.com/company/downloads/Jbed_CDC.pdf

2) Setup to compile Derby as documented in BUILDING.txt,
   Ensure your Derby trunk is updated to at least revision 154375.

3) Apply the experimental_jsr_169.patch attached to this email.
   This is not to be committed into the Derby code, it is just
   experimental code.

4) Copy your working Derby ant.properties for derby to a new file,
jsr169.properties

5) Edit jsr169.properties to add setting the variable compile.classpath
to only include the J2ME/CDC/Foundation classes and JSR 169 classes. Eg.
for my WCTME 5.7 setup I added this single line to jsr169.properties.

compile.classpath=C:/_work/p4/djdt1/wctme5.7/ive/lib/jclFoundation10/classes.zip;C:/_work/p4/djdt1/wctme5.7/ive/lib/jdbc.jar

6) Execute these ant commands to build, note that the 'ant engine' using
the jsr169.properites will hit errors, just ignore them.

ant -propertyfile jsr169.properties engine
ant
ant buildjars

8) Now derby.jar should work on J2ME/CDC/Foundation/JSR 169. It should
also work correctly, without any of the limitations below on J2SE.

9) You can compile the attached simple application SimpleAppJSR169.java
that shows how to connect to Derby using the EmbeddedSimpleDataSource.
This can be compiled in a standard JDK, nothing is special about the class.

10) Running the SimpleAppJSR169 with it and derby.jar available in your
classpath should now succeed. This is how I did this for WCTME 5.7.

javac -d . -classpath c:/_work/svn/trunk/jars/insane/derby.jar
SimpleAppJSR169.java

cp="c:/_work/svn/trunk/jars/insane/derby.jar;."

export JAVA_HOME=${wctme}/ive
${wctme}/ive/bin/j9 -jcl:foun10 -Xbootclasspath/a:${jsr169} -cp ${cp}
org.apache.derby.tools.sysinfo

${wctme}/ive/bin/j9 -jcl:foun10 -Xbootclasspath/a:${jsr169} -cp ${cp}
SimpleAppJSR169


** LIMITATIONS **

This is an experimental version only. Triggers and diagnostic virtual
tables will not work. DECIMAL support is implemented by double and thus
is not precise, and may not even work :-). The only testing that has
occurred is running SimpleAppJSR169.

For the intended final functionality I'm working on, please see the
functional spec in Derby-97

http://issues.apache.org/jira/browse/DERBY-97

Any feedback is greatly appreciated.
Dan.


Mime
View raw message