tcljava-user Mailing List for Tcl/Java (Page 14)
Brought to you by:
mdejong
You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
(23) |
Dec
(9) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(12) |
Feb
(10) |
Mar
(16) |
Apr
(10) |
May
(40) |
Jun
(13) |
Jul
(18) |
Aug
(4) |
Sep
(6) |
Oct
(3) |
Nov
|
Dec
(3) |
2002 |
Jan
(15) |
Feb
(19) |
Mar
(1) |
Apr
(11) |
May
(12) |
Jun
(10) |
Jul
(2) |
Aug
(22) |
Sep
|
Oct
(3) |
Nov
(9) |
Dec
(20) |
2003 |
Jan
(32) |
Feb
(5) |
Mar
(26) |
Apr
(30) |
May
(10) |
Jun
(8) |
Jul
(17) |
Aug
(7) |
Sep
(24) |
Oct
(7) |
Nov
(6) |
Dec
|
2004 |
Jan
(5) |
Feb
|
Mar
|
Apr
(7) |
May
(8) |
Jun
(12) |
Jul
(3) |
Aug
(11) |
Sep
(8) |
Oct
(4) |
Nov
(2) |
Dec
(6) |
2005 |
Jan
(8) |
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
(19) |
Jul
(8) |
Aug
(22) |
Sep
(12) |
Oct
(35) |
Nov
(12) |
Dec
(4) |
2006 |
Jan
(20) |
Feb
(14) |
Mar
(23) |
Apr
(10) |
May
(11) |
Jun
(1) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(4) |
Nov
(17) |
Dec
(10) |
2007 |
Jan
(41) |
Feb
(6) |
Mar
(23) |
Apr
(15) |
May
(34) |
Jun
(5) |
Jul
(18) |
Aug
(13) |
Sep
(8) |
Oct
(9) |
Nov
(7) |
Dec
(2) |
2008 |
Jan
|
Feb
(1) |
Mar
(18) |
Apr
(1) |
May
(1) |
Jun
(10) |
Jul
(3) |
Aug
|
Sep
(10) |
Oct
(3) |
Nov
(13) |
Dec
(3) |
2009 |
Jan
(4) |
Feb
(10) |
Mar
(1) |
Apr
(11) |
May
(3) |
Jun
(7) |
Jul
(4) |
Aug
(9) |
Sep
(16) |
Oct
(3) |
Nov
(5) |
Dec
(2) |
2010 |
Jan
(3) |
Feb
|
Mar
|
Apr
(7) |
May
(1) |
Jun
|
Jul
|
Aug
(3) |
Sep
(3) |
Oct
(1) |
Nov
(1) |
Dec
|
2011 |
Jan
(3) |
Feb
|
Mar
(2) |
Apr
(17) |
May
(4) |
Jun
(17) |
Jul
(5) |
Aug
(7) |
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
(12) |
Mar
|
Apr
(1) |
May
(1) |
Jun
(1) |
Jul
|
Aug
(3) |
Sep
(2) |
Oct
(6) |
Nov
|
Dec
(2) |
2013 |
Jan
|
Feb
(1) |
Mar
|
Apr
(1) |
May
(8) |
Jun
(1) |
Jul
|
Aug
(3) |
Sep
|
Oct
(3) |
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
(2) |
Apr
(2) |
May
(1) |
Jun
(3) |
Jul
(3) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
2018 |
Jan
|
Feb
(1) |
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
From: Patrick F. <fin...@gm...> - 2007-08-06 15:01:42
|
Just wondering if "package require" works with resource and libraries packed in jar files. e.g. something like. C:\Tcl\lib>jar -cvf tcllib1_9.jar tcllib1.9 set CLASSPATH=%CLASSPATH%;C:/Tcl/lib/tcllib1_9.jar java -classpath %CLASSPATH% tcl.lang.Shell % lappend auto_path resource:/tcllib1.9 resource:/tcl/lang/library resource:/proclib resource:/tcllib1.9 % package require term can't find package term % package require log can't find package log "resource" can load jarred libraries prepared with auto_mkindex. |
From: Tom P. <tpo...@ny...> - 2007-07-17 21:21:56
|
On Tue, Jul 17, 2007 at 12:11:37PM -0700, Mo DeJong wrote: > Patrick Finnegan wrote: > > What I would really like to do is dynamically load the procedure > > scripts as required in a "package require" type scenario. But > > "package require" is not supported under jacl > Package require is supported under Jacl. It is likely you are not using > the auto_path variable in the way it should, you can add > a path with a "resource:/" prefix to the auto_path and it should be > searched as expected. > > > so I thought about using auto_mkindex which seems to be supported > > under jacl. It seems to work with both directories and jar files. > > Great! > > > > 1. Directory. > > ******* > > wsadmin>auto_mkindex proclib > > > > then ................... > > > > set TCL_LIBRARY="directoryPath/proclib" > > > > Call jacl with the java -D option > > > > java bla bla bla "-DTCL_LIBRARY=%TCL_LIBRARY%" > > > This is not how TCL_LIBRARY should be used. In general, TCL_LIBRARY is > where Tcl/Jacl > find its own scripts. You should not use this for your application scripts. Jacl uses TCLLIBPATH, not TCL_LIBRARY to find packages. Jacl's init.tcl holds all of the clues: http://tcljava.cvs.sourceforge.net/tcljava/tcljava/src/jacl/tcl/lang/library/init.tcl?revision=1.7&view=markup I routinely use a modified 'jaclsh' that allows me to include Tcl packages that I place either in my Jacl installation dir (ones that are Jacl only), or specify other directories via an environment variable. For example: $ export JACL_LIBRARY=/usr/lib/tcllib1.7 $ jaclsh % # include my jacl based 'hyde' package % package require hyde 1.3 % # include log from tcllib % package require log 1.2 TCLLIBPATH is not split on ":", you have to space-separate directory entries. My Jacl installation : ls -CF /usr/local/lib/tcljava1.4.0 hyde-1.3/ itclsrc.jar jaclsrc.jar janinosrc.jar tcljava.jar tjc.jar itcl.jar jacl.jar janino.jar swank.jar tcljavasrc.jar tjcsrc.jar The hyde-1.3 directory has a valid pkgIndex.tcl file: package ifneeded hyde 1.3 "source [file join $dir hyde.tcl]" Note Tcllib1.7 has very few packages that require Tcl 8.0, I just used that as an example. Tcllib was installed from my Linux package system. Here is my 'jaclsh', a couple of notes first. - I copy swank.jar into my Jacl installation, and do 'ln -s jaclsh wisk'. That way, I can start Jacl or Swank from the same script, either by invoking 'jaclsh' or 'wisk'. - The following environment variables are recognized: JACL_FLAGS - JVM memory & other options JACL_LIBRARY - Tcl libraries to include JACL_PROPS - other JVM options, I use this for any "-Dxxxx=yyy" JACL_MAIN - if using a custom shell JAVA_HOME - which ever JVM I want to use --------------------------------------------------------------------- #!/bin/sh # Install prefix for jacl package, defaults to /usr/local prefix=/usr/local # Tcl/Java version number TCLJAVA_VERSION=1.4.0 # Directory where Jacl installation .jar files exists, and # other Jacl packages XP_TCLJAVA_INSTALL_DIR=${prefix}/lib/tcljava${TCLJAVA_VERSION} JACL_CLASSPATH=${XP_TCLJAVA_INSTALL_DIR}/tcljava.jar JACL_CLASSPATH=${JACL_CLASSPATH}:${XP_TCLJAVA_INSTALL_DIR}/jacl.jar JACL_CLASSPATH=${JACL_CLASSPATH}:${XP_TCLJAVA_INSTALL_DIR}/itcl.jar JACL_CLASSPATH=${JACL_CLASSPATH}:${XP_TCLJAVA_INSTALL_DIR}/tjc.jar JACL_CLASSPATH=${JACL_CLASSPATH}:${XP_TCLJAVA_INSTALL_DIR}/janino.jar # Fully qualified path name of JVM executable # Will be overridden if $JAVA_HOME is set and $JAVA_HOME/bin/java exists JAVA=/usr/local/java/bin/java # The arguments to the JAVA command DEFAULT_JACL_FLAGS="-ms5m -mx32m" JACL_FLAGS="${JACL_FLAGS:-$DEFAULT_JACL_FLAGS}" # If JACL_MAIN is set then use it as the name of the Java # class to execute. If it is not set, then use tcl.lang.Shell. # This provides an easy way to launch an alternative shell # without having to duplicate all the CLASSPATH and JAVA logic. if test "${JACL_MAIN}" = ""; then if [ `basename $0` = "wisk" ] ; then JACL_MAIN=tcl.lang.SwkShell JACL_CLASSPATH=${JACL_CLASSPATH}:${XP_TCLJAVA_INSTALL_DIR}/swank.jar else JACL_MAIN=tcl.lang.Shell fi fi # set CLASSPATH CLASSPATH=${JACL_CLASSPATH}:${CLASSPATH} export CLASSPATH # Fully qualified path name of JVM executable if [ -n "$JAVA_HOME" -a -x $JAVA_HOME/bin/java ] ; then JAVA=$JAVA_HOME/bin/java fi # Set TCLLIBPATH from JACL_LIBRARY and default JACL_LIBPATH="-DTCLLIBPATH=$JACL_LIBRARY $XP_TCLJAVA_INSTALL_DIR" exec ${JAVA} ${JAVA_FLAGS} "${JACL_LIBPATH}" ${JACL_PROPS} ${JACL_MAIN} ${1+"$@"} --------------------------------------------------------------------- -- Tom Poindexter tpo...@ny... |
From: Mo D. <mo...@mo...> - 2007-07-17 19:13:17
|
Patrick Finnegan wrote: > > > Every top level script gets the $TCL_LIBRARY variable and calls > sourceProcs.tcl which does a recursive search under the TCL_LIBRARY > directory, locates any directory called proclib and sources each > procedure script in the proclib directory loading everything up into > the namespace. > > What I would really like to do is dynamically load the procedure > scripts as required in a "package require" type scenario. But > "package require" is not supported under jacl Package require is supported under Jacl. It is likely you are not using the auto_path variable in the way it should, you can add a path with a "resource:/" prefix to the auto_path and it should be searched as expected. > so I thought about using auto_mkindex which seems to be supported > under jacl. It seems to work with both directories and jar files. > Great! > > 1. Directory. > ******* > wsadmin>auto_mkindex proclib > > then ................... > > set TCL_LIBRARY="directoryPath/proclib" > > Call jacl with the java -D option > > java bla bla bla "-DTCL_LIBRARY=%TCL_LIBRARY%" > This is not how TCL_LIBRARY should be used. In general, TCL_LIBRARY is where Tcl/Jacl find its own scripts. You should not use this for your application scripts. cheers Mo DeJong |
From: Patrick F. <fin...@gm...> - 2007-07-17 14:55:56
|
There seems to be a slight bug with auto_path and/or resouce. Procs with name spaces are not found initially. e.g . Top level bat file. setlocal set tclScript= C:\home\patrick\eclipse\WASAdminSBV\WSAdmin\WAS5.1\tcl\sendJavaMail.tcl set javaCmd="C:\Program Files\Java\j2re1.4.2_05\bin\java" set CLASSPATH=%CLASSPATH%;C:/downloads/TCL/jacl/tcljava.jar set CLASSPATH=%CLASSPATH%;C:/downloads/TCL/jacl/jacl.jar :: ### proclib jar holds scripts. set CLASSPATH=%CLASSPATH%;C:/home/patrick/eclipse/WASAdminSBV/WSAdmin/WAS5.1/JACL/proclib.jar set CLASSPATH=%CLASSPATH%;C:/downloads/java/javamail-1_4/javamail-1.4 /lib/smtp.jar set CLASSPATH=%CLASSPATH%;C:/downloads/java/javamail-1_4/javamail-1.4 /lib/mailapi.jar set CLASSPATH=%CLASSPATH%;C:/downloads/java/activation.jar %javaCmd% -classpath %CLASSPATH% tcl.lang.Shell %tclScript% endlocal Called tcl script. ============================================================= # # send mail using java mail library. package require java lappend auto_path resource:/proclib puts "auto_path is [ set auto_path ]" # putsLog proc putsLog "test message" # javaMail namespace. javaMail::javaMail you...@yo... "test email" " body text" ============================================================== If the putslog proc is left in jacl finds javaMail::javaMail. If the putslog proc is commented out jacl fails to find javaMail::javaMail sendJavaMail.cmd invalid command name "javaMail::javaMail" putsLog is defined like: proc putsLog { a { channel stdout } } { global env javaMail::javaMail is defined like: namespace eval javaMail { proc javaMail { emailAddress subject body } { Does the tcl unknown command work in jacl the same way as tcl or is there a difference in the way the auto_index file is loaded? |
From: Patrick F. <fin...@gm...> - 2007-07-17 07:10:44
|
On 16/07/07, Mo DeJong <mo...@mo...> wrote: > > Patrick Finnegan wrote: > > > > Can someone post an example or point to an example of how to use > > "source resource:/". I want to put my JACL scripts in a jar file and > > put the jar file on the class path. > > > The most simple example would go like so: > > % source resource:/tcl/lang/library/parray.tcl > > This uses the Java API to load a resource named > "/tcl/lang/library/parray.tcl" > > This is loaded from jacl.jar via the system classloader: > > $ jar -tvf jacl.jar | grep parray > 885 Thu Apr 19 13:34:28 PDT 2007 tcl/lang/library/parray.tcl > > To add your own scripts that use source, just jar up your .tcl files and > place the jar on the CLASSPATH. > > Mo DeJong The way I normally load the procedure library is; 1. Set a java system variable using the D option. export TCL_LIBRARY="TCL_LIBRARY=/directoryPath/JACL java bla bla bla -D$TCL_LIBRARY 2. Pick up the TCL_LIBRARY variable in the top level jacl script. set TCL_LIBRARY [ java::call System getProperty TCL_LIBRARY ] 3. Call a "sourceProcs.tcl script. source [ file join $TCL_LIBRARY sourceProcs.tcl ] Every top level script gets the $TCL_LIBRARY variable and calls sourceProcs.tcl which does a recursive search under the TCL_LIBRARY directory, locates any directory called proclib and sources each procedure script in the proclib directory loading everything up into the namespace. What I would really like to do is dynamically load the procedure scripts as required in a "package require" type scenario. But "package require" is not supported under jacl so I thought about using auto_mkindex which seems to be supported under jacl. It seems to work with both directories and jar files. Great! 1. Directory. ******* wsadmin>auto_mkindex proclib then ................... set TCL_LIBRARY="directoryPath/proclib" Call jacl with the java -D option java bla bla bla "-DTCL_LIBRARY=%TCL_LIBRARY%" Within the script...... set TCL_LIBRARY [ java::call System getProperty TCL_LIBRARY ] lappend auto_path $TCL_LIBRARY Now procedures are loaded dynamically without the need for an explicit source command. javaMail::javaMail xxxxx xxxxx xxxxx 2. Jar File. ****** wsadmin>auto_mkindex proclib jar -cvf proclib set CLASSPATH=%CLASSPATH%;directorypath/proclib.jar java bla bla bla -classpath %CLASSPATH% lappend auto_path resource:/proclib javaMail::javaMail xxxxx xxxxx xxxxx |
From: Mo D. <mo...@mo...> - 2007-07-16 19:16:54
|
Patrick Finnegan wrote: > > Can someone post an example or point to an example of how to use > "source resource:/". I want to put my JACL scripts in a jar file and > put the jar file on the class path. > The most simple example would go like so: % source resource:/tcl/lang/library/parray.tcl This uses the Java API to load a resource named "/tcl/lang/library/parray.tcl" This is loaded from jacl.jar via the system classloader: $ jar -tvf jacl.jar | grep parray 885 Thu Apr 19 13:34:28 PDT 2007 tcl/lang/library/parray.tcl To add your own scripts that use source, just jar up your .tcl files and place the jar on the CLASSPATH. Mo DeJong |
From: Patrick F. <fin...@gm...> - 2007-07-16 09:57:19
|
Can someone post an example or point to an example of how to use "source resource:/". I want to put my JACL scripts in a jar file and put the jar file on the class path. Thanks. Patrick. |
From: Tom P. <tpo...@ny...> - 2007-07-14 17:23:03
|
On Fri, Jul 13, 2007 at 04:18:03PM -0700, Mo DeJong wrote: > Very nice! I notice you are using the 1.4 version and the bundled IncrTcl. > Please let me know if there are any nagging issues you have encountered > during development, I am planning on releasing a 1.4.1 (bug fix only) soon. Thanks Mo. I have no 'nagging' issues, Jacl is 1.4.x stable and predictable. My latest code uses the most recent Jacl from CVS. There are two items that I would ask you to consider. 1. IncrTcl 'cget' patch. Eckhard Lemann submitted a patch to IncrTcl/C that provides an extra optional parameter when defining variables, to allow code to be executed when a variable is fetched ($obj cget -var). I'd like to have that in Jacl IncrTcl, and lobby Jeff Hobbs to put it in IncrTcl/C. In Aejaks, I provide public variables that access getXxx/setXxx methods. 'setXxx' is no problem of course, but I had to implement a series of traces on each object's variables to enable 'getXxx' behavior. Pretty ugly, probably a lot slower, but it does work. http://elehmann.wordpress.com/tcltk/itcl-cget-code/ http://sourceforge.net/tracker/index.php?func=detail&aid=1362070&group_id=13244&atid=313244 2. My 'open resource:/' patch for Jacl. I would like to be able to have an entire application bundled into a .war file. Tcl code is no problem thanks to 'source resource:/'. I'd like to be able to read other non-Tcl files in the .war just by using 'open'. http://sourceforge.net/tracker/index.php?func=detail&aid=1733931&group_id=13005&atid=313005 -- Tom Poindexter tpo...@ny... |
From: Mo D. <mo...@mo...> - 2007-07-13 23:18:02
|
Tom Poindexter wrote: > I have released Aejaks 0.5, a windowing toolkit for > building Ajax-enabled web applications using Tk-like > widgets. Aejaks uses Jacl as its scripting engine. > Very nice! I notice you are using the 1.4 version and the bundled IncrTcl. Please let me know if there are any nagging issues you have encountered during development, I am planning on releasing a 1.4.1 (bug fix only) soon. cheers Mo DeJong |
From: Mo D. <mo...@mo...> - 2007-07-13 23:12:28
|
Robinson, David wrote: > Actually, solved one problem - I found my default java.library.path from > looking through config.log. > > The other one is still an issue, however also I have no mqjbnd02.so as the > ibm MQ jar comes from an old Windows kit. I can only find a dll. > > Perhaps I need to find a different set of MQ libraries with a Solaris .so > file ? > If this MQ library includes native code, then you will need a version with native code compiled for Solaris. Are you able to write a simple pure Java main class that loads this MQ library and opens a connection? If that does not even work, there is no point in trying to get it to load into Tcl Blend. cheers Mo DeJong |
From: Mo D. <mo...@mo...> - 2007-07-13 23:08:27
|
Patrick Finnegan wrote: > > > On 12/07/07, *Robinson, David* <Dav...@co... > <mailto:Dav...@co...>> wrote: > > Patrick, > > On Solaris 10 TCL_CLASSPATH doesn't seem to like more than one jar > (or have > I got the separator wrong ?) : > > append x /apps/fidessa/top/commerzbank/lib/com.ibm.mq.jar: > append x /apps/fidessa/top/commerzbank/lib/com.ibm.mq_websphere.jar > > > > separator should be semi colon ";" > On Unix systems, one should use ':' and ';' should be used on Windows systems. It is very lame that Sun did not deal with this issue in the JDK, and left it to each application, but that is the way it is. cheers Mo DeJong |
From: Robinson, D. <Dav...@Co...> - 2007-07-12 18:23:46
|
Actually, solved one problem - I found my default java.library.path from looking through config.log. The other one is still an issue, however also I have no mqjbnd02.so as the ibm MQ jar comes from an old Windows kit. I can only find a dll. Perhaps I need to find a different set of MQ libraries with a Solaris .so file ? David -----Original Message----- From: tcl...@li... [mailto:tcl...@li...] On Behalf Of Patrick Finnegan Sent: Thursday, July 12, 2007 7:28 PM To: A list for users of tcljava Subject: Re: [tcljava-user] NoClassDefFound On Thursday 12 July 2007 17:16, Robinson, David wrote: > Thanks for that but I'm still having problems : > Dave. I will email you direct tomorrow. Regards. Patrick. ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ tcljava-user mailing list tcl...@li... https://lists.sourceforge.net/lists/listinfo/tcljava-user ********************************************************************** This is a commercial communication from Commerzbank AG. This communication is confidential and is intended only for the person to whom it is addressed. If you are not that person you are not permitted to make use of the information and you are requested to notify <mailto:LON...@co...> immediately that you have received it and then destroy the copy in your possession. Commerzbank AG may monitor outgoing and incoming e-mails. By replying to this e-mail you consent to such monitoring. This e-mail message and any attached files have been scanned for the presence of computer viruses. However, you are advised that you open attachments at your own risk. This email was sent either by Commerzbank AG, London Branch, or by Commerzbank Corporates & Markets, a division of Commerzbank. Commerzbank AG is a limited liability company incorporated in the Federal Republic of Germany. Registered Company Number in England BR001025. Our registered address in the UK is 60 Gracechurch Street, London, EC3V 0HR. We are regulated by the Financial Services Authority for the conduct of investment business in the UK and we appear on the FSA register under number 124920. ********************************************************************** |
From: Patrick F. <pfi...@oz...> - 2007-07-12 18:14:29
|
On Thursday 12 July 2007 17:16, Robinson, David wrote: > Thanks for that but I'm still having problems : > Dave. I will email you direct tomorrow. Regards. Patrick. |
From: Robinson, D. <Dav...@Co...> - 2007-07-12 16:17:13
|
Thanks for that but I'm still having problems : 1. If I try to put something else into java.library.path (ie lappend optList "-Djava.library.path\=/home/top_dev/tclblend" I then get : executing .//MQEx.tcl java command line options list is: -Djava.library.path=/home/top_dev/tclblend "XpUtils::iload -d /home/top_dev/tmp/opt/tclblend/lib/tcljava1.4.0 tclblend" failed: java.lang.UnsatisfiedLinkError: no tclblend in java.library.path While instantiating Interp object in Tclblend_Init The Tcl Blend shared lib was loaded by Tcl, but the JVM could not access JNI symbols. while executing "error "\"XpUtils::iload -d $dir tclblend\" failed:\n $errMsg"" (procedure "loadtclblend" line 168) invoked from within "loadtclblend /home/top_dev/tmp/opt/tclblend/lib/tcljava1.4.0" ("package ifneeded" script) invoked from within "package require java" (file ".//MQEx.tcl" line 32) What is the default java.library.path ? 2. The ; separator does not work : append z /apps/fidessa/top/commerzbank/lib/com.ibm.mq.jar\; append z /apps/fidessa/top/commerzbank/lib/com.ibm.mq_websphere.jar set env(TCL_CLASSPATH) $z executing .//MQEx.tcl java command line options list is: -Djava.library.path= TCL_CLASSPATH = TCL_CLASSPATH {/apps/fidessa/top/commerzbank/lib/com.ibm.mq.jar;/apps/fidessa/top/commerzb ank/lib/com.ibm.mq_websphere.jar} checkMQ cannot import class "com.ibm.mq.MQC", it does not exist while executing "java::import com.ibm.mq.MQC" (procedure "checkMQ" line 6) invoked from within "checkMQ $QManager $CCSID $channel $hostname $queueName $port $traceFile $msg" (file ".//MQEx.tcl" line 137) Thanks David _____ From: tcl...@li... [mailto:tcl...@li...] On Behalf Of Patrick Finnegan Sent: Thursday, July 12, 2007 3:42 PM To: A list for users of tcljava Subject: Re: [tcljava-user] NoClassDefFound On 12/07/07, Robinson, David <Dav...@co... <mailto:Dav...@co...> > wrote: Patrick, On Solaris 10 TCL_CLASSPATH doesn't seem to like more than one jar (or have I got the separator wrong ?) : append x /apps/fidessa/top/commerzbank/lib/com.ibm.mq.jar: append x /apps/fidessa/top/commerzbank/lib/com.ibm.mq_websphere.jar separator should be semi colon ";" append x $drive/IBM/WebSphereMQ/Java/lib/com.ibm.mq.jar\; append x $drive/IBM/WebSphereMQ/Tools/Java/base\; append x $drive/IBM/WebSphereMQ/Java/lib/com.ibm.mqjms.jar\; append x $drive/IBM/WebSphereMQ/Tools/Java/jms\; checkMQ java.lang.UnsatisfiedLinkError : no mqjbnd02 in java.library.path while executing "java::new MQQueueManager 1" (procedure "checkMQ" line 14) invoked from within "checkMQ $QManager $CCSID $channel $hostname $queueName $port $traceFile $msg" (file ".//MQEx.tcl" line 124) On Windows............... "The java.lang.UnsatisfiedLinkError is encountered when the environment variable java.library.path is not set. Sounds like you need to set "-Djava.library.path=<path to mqjbnd02.dll" You can set the java options inside the tcl blend script using tclblend_init before calling "package require java". manual page - http://tcljava.sourceforge.net/docs/TclJava/JavaPackage.html <http://tcljava.sourceforge.net/docs/TclJava/JavaPackage.html> e.g something like: lappend optList "-Djava.naming.provider.url\=$NAMING_PROVIDER " lappend optList "-Djava.naming.factory.initial\=$NAMING_FACTORY" lappend optList $CLIENTSOAP lappend optList "-Dwas.install.root\=$WAS_HOME" lappend optList "-Dws.ext.dirs\=$WAS_EXT_DIRS " # set tracefile properties. lappend optList "-DtraceSettingsFile\=TraceSettings.properties" puts "\n java command line options list is:\n" foreach x $optList { puts [ format "%-5s %-50s" " " $x ] } set tclblend_init $optList # call java package package require java Do you know which jar file on Solaris has this mqjbnd02 class ? I have my LD_LIBRARY_PATH and PATH set to where the com.ibm.mq.jar file is. Thanks for your help. David For Solaris have a look at these links. Search for mqjbnd02. http://www.mail-archive.com/mqs...@ak.../msg00242.html <http://www.mail-archive.com/mqs...@ak.../msg00242.html> http://www.sjg-enterpriseintegration.com/websphere%20mq%20listserver%200105. asp <http://www.sjg-enterpriseintegration.com/websphere%20mq%20listserver%200105 .asp> ********************************************************************** This is a commercial communication from Commerzbank AG. This communication is confidential and is intended only for the person to whom it is addressed. If you are not that person you are not permitted to make use of the information and you are requested to notify <mailto:LON...@co...> immediately that you have received it and then destroy the copy in your possession. Commerzbank AG may monitor outgoing and incoming e-mails. By replying to this e-mail you consent to such monitoring. This e-mail message and any attached files have been scanned for the presence of computer viruses. However, you are advised that you open attachments at your own risk. This email was sent either by Commerzbank AG, London Branch, or by Commerzbank Corporates & Markets, a division of Commerzbank. Commerzbank AG is a limited liability company incorporated in the Federal Republic of Germany. Registered Company Number in England BR001025. Our registered address in the UK is 60 Gracechurch Street, London, EC3V 0HR. We are regulated by the Financial Services Authority for the conduct of investment business in the UK and we appear on the FSA register under number 124920. ********************************************************************** |
From: Patrick F. <fin...@gm...> - 2007-07-12 14:42:00
|
On 12/07/07, Robinson, David <Dav...@co...> wrote: > > Patrick, > > On Solaris 10 TCL_CLASSPATH doesn't seem to like more than one jar (or > have > I got the separator wrong ?) : > > append x /apps/fidessa/top/commerzbank/lib/com.ibm.mq.jar: > append x /apps/fidessa/top/commerzbank/lib/com.ibm.mq_websphere.jar separator should be semi colon ";" append x $drive/IBM/WebSphereMQ/Java/lib/com.ibm.mq.jar\; append x $drive/IBM/WebSphereMQ/Tools/Java/base\; append x $drive/IBM/WebSphereMQ/Java/lib/com.ibm.mqjms.jar\; append x $drive/IBM/WebSphereMQ/Tools/Java/jms\; checkMQ > > java.lang.UnsatisfiedLinkError: no mqjbnd02 in java.library.path > while executing > "java::new MQQueueManager 1" > (procedure "checkMQ" line 14) > invoked from within > "checkMQ $QManager $CCSID $channel $hostname $queueName $port $traceFile > $msg" > (file ".//MQEx.tcl" line 124) On Windows............... "The *java.lang.UnsatisfiedLinkError* is encountered when the environment variable java.library.path is not set. Sounds like you need to set "-Djava.library.path=<path to mqjbnd02.dll" You can set the java options inside the tcl blend script using tclblend_init before calling "package require java". * manual page - http://tcljava.sourceforge.net/docs/TclJava/JavaPackage.html * e.g something like: *lappend optList "-Djava.naming.provider.url\=$NAMING_PROVIDER" lappend optList "-Djava.naming.factory.initial\=$NAMING_FACTORY" lappend optList $CLIENTSOAP lappend optList "-Dwas.install.root\=$WAS_HOME" lappend optList "-Dws.ext.dirs\=$WAS_EXT_DIRS" # set tracefile properties. lappend optList "-DtraceSettingsFile\=TraceSettings.properties" puts "\n java command line options list is:\n" foreach x $optList { puts [ format "%-5s %-50s" " " $x ] } set tclblend_init $optList # call java package package require java * Do you know which jar file on Solaris has this mqjbnd02 class ? > > I have my LD_LIBRARY_PATH and PATH set to where the com.ibm.mq.jar file > is. > > Thanks for your help. > > David For Solaris have a look at these links. Search for mqjbnd02.* http://www.mail-archive.com/mqs...@ak.../msg00242.html http://www.sjg-enterpriseintegration.com/websphere%20mq%20listserver%200105.asp * |
From: Robinson, D. <Dav...@Co...> - 2007-07-12 14:03:59
|
Patrick, On Solaris 10 TCL_CLASSPATH doesn't seem to like more than one jar (or have I got the separator wrong ?) : append x /apps/fidessa/top/commerzbank/lib/com.ibm.mq.jar: append x /apps/fidessa/top/commerzbank/lib/com.ibm.mq_websphere.jar Result : cannot import class "com.ibm.mq.MQC", it does not exist while executing "java::import com.ibm.mq.MQC" (procedure "checkMQ" line 6) invoked from within "checkMQ $QManager $CCSID $channel $hostname $queueName $port $traceFile $msg" (file ".//MQEx.tcl" line 124) While append x /apps/fidessa/top/commerzbank/lib/com.ibm.mq.jar works OK. Also I get this : checkMQ java.lang.UnsatisfiedLinkError: no mqjbnd02 in java.library.path while executing "java::new MQQueueManager 1" (procedure "checkMQ" line 14) invoked from within "checkMQ $QManager $CCSID $channel $hostname $queueName $port $traceFile $msg" (file ".//MQEx.tcl" line 124) Do you know which jar file on Solaris has this mqjbnd02 class ? I have my LD_LIBRARY_PATH and PATH set to where the com.ibm.mq.jar file is. Thanks for your help. David -----Original Message----- From: tcl...@li... [mailto:tcl...@li...] On Behalf Of Patrick Finnegan Sent: 11 July 2007 18:55 To: A list for users of tcljava Subject: Re: [tcljava-user] NoClassDefFound On Wednesday 11 July 2007 18:25, Robinson, David wrote: > Hi, I'm using tclblend for the first time. I have successfully compiled > some java classes that reference functions in an external MQSeries .jar > file which is in a non-standard directory. However, when I try to call the > class from jtclsh I get > See the examples at the Tcl Cookbook. http://aspn.activestate.com/ASPN/Cookbook/Tcl?kwd=TclBlend Specifically: http://aspn.activestate.com/ASPN/Cookbook/Tcl/Recipe/442320 Building the classpath. # build tcl classpath append x $drive/IBM/WebSphereMQ/Java/lib/com.ibm.mq.jar\; append x $drive/IBM/WebSphereMQ/Tools/Java/base\; append x $drive/IBM/WebSphereMQ/Java/lib/com.ibm.mqjms.jar\; append x $drive/IBM/WebSphereMQ/Tools/Java/jms\; append x $drive/IBM/WebSphereMQ/Java/lib/com.ibm.mqbind.jar\; set env(TCL_CLASSPATH) $x ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ tcljava-user mailing list tcl...@li... https://lists.sourceforge.net/lists/listinfo/tcljava-user ********************************************************************** This is a commercial communication from Commerzbank AG. This communication is confidential and is intended only for the person to whom it is addressed. If you are not that person you are not permitted to make use of the information and you are requested to notify <mailto:LON...@co...> immediately that you have received it and then destroy the copy in your possession. Commerzbank AG may monitor outgoing and incoming e-mails. By replying to this e-mail you consent to such monitoring. This e-mail message and any attached files have been scanned for the presence of computer viruses. However, you are advised that you open attachments at your own risk. This email was sent either by Commerzbank AG, London Branch, or by Commerzbank Corporates & Markets, a division of Commerzbank. Commerzbank AG is a limited liability company incorporated in the Federal Republic of Germany. Registered Company Number in England BR001025. Our registered address in the UK is 60 Gracechurch Street, London, EC3V 0HR. We are regulated by the Financial Services Authority for the conduct of investment business in the UK and we appear on the FSA register under number 124920. ********************************************************************** |
From: Tom P. <tpo...@ny...> - 2007-07-11 19:49:17
|
I have released Aejaks 0.5, a windowing toolkit for building Ajax-enabled web applications using Tk-like widgets. Aejaks uses Jacl as its scripting engine. Lots of new features: * New Widgets * Asynchronous window updates * Nuvola icon set * New distribution files: exe, src, and deploy-and-go war file for the widget tour. http://aejaks.sourceforge.net -- Tom Poindexter tpo...@ny... |
From: Patrick F. <pfi...@oz...> - 2007-07-11 17:41:18
|
On Wednesday 11 July 2007 18:25, Robinson, David wrote: > Hi, I'm using tclblend for the first time. I have successfully compiled > some java classes that reference functions in an external MQSeries .jar > file which is in a non-standard directory. However, when I try to call the > class from jtclsh I get > See the examples at the Tcl Cookbook. http://aspn.activestate.com/ASPN/Cookbook/Tcl?kwd=TclBlend Specifically: http://aspn.activestate.com/ASPN/Cookbook/Tcl/Recipe/442320 Building the classpath. # build tcl classpath append x $drive/IBM/WebSphereMQ/Java/lib/com.ibm.mq.jar\; append x $drive/IBM/WebSphereMQ/Tools/Java/base\; append x $drive/IBM/WebSphereMQ/Java/lib/com.ibm.mqjms.jar\; append x $drive/IBM/WebSphereMQ/Tools/Java/jms\; append x $drive/IBM/WebSphereMQ/Java/lib/com.ibm.mqbind.jar\; set env(TCL_CLASSPATH) $x |
From: Robinson, D. <Dav...@Co...> - 2007-07-11 17:25:29
|
Hi, I'm using tclblend for the first time. I have successfully compiled some java classes that reference functions in an external MQSeries .jar file which is in a non-standard directory. However, when I try to call the class from jtclsh I get % package require java 1.4.0 % java::load -classpath /apps/fidessa/top/commerzbank/lib:/. TEExt % te connect Exception in thread "main" java.lang.NoClassDefFoundError: com/ibm/mq/MQException at TECmd.cmdProc(TECmd.java:16) at tcl.lang.Interp.callCommand(Interp.java:1266) JavaCmdProc : Interp.callCommand() raised an Exception Abort Which path env var or tcl setting do I need to change to get the references to get these objects visibility ? Regards David Robinson ********************************************************************** This is a commercial communication from Commerzbank AG. This communication is confidential and is intended only for the person to whom it is addressed. If you are not that person you are not permitted to make use of the information and you are requested to notify <mailto:LON...@co...> immediately that you have received it and then destroy the copy in your possession. Commerzbank AG may monitor outgoing and incoming e-mails. By replying to this e-mail you consent to such monitoring. This e-mail message and any attached files have been scanned for the presence of computer viruses. However, you are advised that you open attachments at your own risk. This email was sent either by Commerzbank AG, London Branch, or by Commerzbank Corporates & Markets, a division of Commerzbank. Commerzbank AG is a limited liability company incorporated in the Federal Republic of Germany. Registered Company Number in England BR001025. Our registered address in the UK is 60 Gracechurch Street, London, EC3V 0HR. We are regulated by the Financial Services Authority for the conduct of investment business in the UK and we appear on the FSA register under number 124920. ********************************************************************** |
From: Khim T. <kt...@dt...> - 2007-06-27 20:08:41
|
I will be out of the office starting 06/22/2007 and will not return until 07/02/2007. I will respond to your message when I return. Please contact the SCM Hotline for all issues, x8750. Thank you! Warm Regards, Khim Theng ________________________________________________________ DTCC DISCLAIMER: This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error, please notify us immediately and delete the email and any attachments from your system. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. |
From: Patrick F. <fin...@gm...> - 2007-06-27 16:10:19
|
I just added the Derby jars to the system classpath. I am debugging the TclBlend scripts in Eclipse 3.2 using the DLTK plugin and since Eclipse does not pick up system variables I thought I would have to set them inside the IDE. As it happens Blend picks up the system Classpath from inside Eclipse. > > > > > > > |
From: Patrick F. <fin...@gm...> - 2007-06-27 15:23:31
|
On 27/06/07, Tom Poindexter <tpo...@ny...> wrote: > > On Wed, Jun 27, 2007 at 03:59:45PM +0100, Patrick Finnegan wrote: > > I get a Null point exception when I try to instanciate an imported > class. > > What's the best way to debug Blend? > > > > Using TclBlend Windows binary. > > > > C:\TclBlend\bin>jtclsh > > > > % set derbyLib [ file join $env(DERBYHOME) lib ] > > C:/db-derby-10.2.2.0/lib > > > > % set env(TCL_CLASSPATH) $derbyLib > > C:/db-derby-10.2.2.0/lib > > > You probably need to specifiy each jar file, not just > the directory. > > e.g. > set derbyLib {C:/db-derby-10.2.2.0/lib/derby.jar C:/db-derby-10.2.2.0/lib/derbyclient.jar > ....etc...} > > > > > > The script works when started from a bat file with the jars are added to > the > > system classpath . > > > > > > ::set CLASSPATH=%CLASSPATH%;C:\db-derby-10.2.2.0\lib\derby.jar > > ::set CLASSPATH=%CLASSPATH%;C:\db-derby-10.2.2.0\lib\derbyclient.jar > > ::set CLASSPATH=%CLASSPATH%;C:\db-derby-10.2.2.0\lib\derbynet.jar > > ::set CLASSPATH=%CLASSPATH%;C:\db-derby-10.2.2.0\lib\derbytools.jar > > > > C:\TclBlend\bin\jtclsh.exe C:\startNetworkServer.tcl > > > -- > Tom Poindexter > tpo...@ny... Trid your list approach plus............ foreach i [ glob -directory C:/db-derby-10.2.2.0/lib/ *.jar ] { append env(TCL_CLASSPATH) $i\; } I get ............... cannot import class "org.apache.derby.drda.NetworkServerControl", it does not exist So TclBlend finds the class if the jars directory is specified but not if the jar file is added explicitly to the TCL_CLASSPATH variable i.e 6 below. The TclClassLoader seeks unresolved classes in these locations in the following order: 1. The cache of previously loaded classes 2. The CLASSPATH list 3. The pathList list, looking only in directories or jar files specified by pathList (available only for the java::load command) 4. The pathList again, inspecting all jar files found in each directory (only for the java::load command) 5. The env(TCL_CLASSPATH) list, looking only in directories or jar files specified by env(TCL_CLASSPATH) 6. The env(TCL_CLASSPATH) again, inspecting all jar files found in each directory The TCL_CLASSPATH variable works fine for all my MQ stuff. |
From: Tom P. <tpo...@ny...> - 2007-06-27 15:07:04
|
On Wed, Jun 27, 2007 at 03:59:45PM +0100, Patrick Finnegan wrote: > I get a Null point exception when I try to instanciate an imported class. > What's the best way to debug Blend? > > Using TclBlend Windows binary. > > C:\TclBlend\bin>jtclsh > > % set derbyLib [ file join $env(DERBYHOME) lib ] > C:/db-derby-10.2.2.0/lib > > % set env(TCL_CLASSPATH) $derbyLib > C:/db-derby-10.2.2.0/lib You probably need to specifiy each jar file, not just the directory. e.g. set derbyLib {C:/db-derby-10.2.2.0/lib/derby.jar C:/db-derby-10.2.2.0/lib/derbyclient.jar ....etc...} > The script works when started from a bat file with the jars are added to the > system classpath . > > > ::set CLASSPATH=%CLASSPATH%;C:\db-derby-10.2.2.0\lib\derby.jar > ::set CLASSPATH=%CLASSPATH%;C:\db-derby-10.2.2.0\lib\derbyclient.jar > ::set CLASSPATH=%CLASSPATH%;C:\db-derby-10.2.2.0\lib\derbynet.jar > ::set CLASSPATH=%CLASSPATH%;C:\db-derby-10.2.2.0\lib\derbytools.jar > > C:\TclBlend\bin\jtclsh.exe C:\startNetworkServer.tcl -- Tom Poindexter tpo...@ny... |
From: Patrick F. <fin...@gm...> - 2007-06-27 14:59:44
|
I get a Null point exception when I try to instanciate an imported class. What's the best way to debug Blend? Using TclBlend Windows binary. C:\TclBlend\bin>jtclsh % set derbyLib [ file join $env(DERBYHOME) lib ] C:/db-derby-10.2.2.0/lib % set env(TCL_CLASSPATH) $derbyLib C:/db-derby-10.2.2.0/lib % package require java 1.4.0 % java::import java.net.InetAddress % java::import org.apache.derby.drda.NetworkServerControl # display imported classes. % java::import org.apache.derby.drda.NetworkServerControl java.net.InetAddress % java::new NetworkServerControl java.lang.NullPointerException The script works when started from a bat file with the jars are added to the system classpath . ::set CLASSPATH=%CLASSPATH%;C:\db-derby-10.2.2.0\lib\derby.jar ::set CLASSPATH=%CLASSPATH%;C:\db-derby-10.2.2.0\lib\derbyclient.jar ::set CLASSPATH=%CLASSPATH%;C:\db-derby-10.2.2.0\lib\derbynet.jar ::set CLASSPATH=%CLASSPATH%;C:\db-derby-10.2.2.0\lib\derbytools.jar C:\TclBlend\bin\jtclsh.exe C:\startNetworkServer.tcl |
From: <Dan...@dl...> - 2007-05-25 20:35:57
|
Hi again, first of all, thank you for your quick reply! I haven't yet been able to figure out why I'm getting this = java.lang.ExceptionInInitializerError, but here's what I get when = running jtclsh with the -verbose:class option. medina@medina:/opt/tclblend/bin> ./jtclsh % set tclblend_init -verbose:class -verbose:class % package require java [...] 1.4.0 % java::new gov.nasa.worldwind.awt.WorldWindowGLCanvas [...] [Loaded javax.media.opengl.GLEventListener from tcl.lang.TclClassLoader] [Loaded gov.nasa.worldwind.AVList from tcl.lang.TclClassLoader] [Loaded gov.nasa.worldwind.WWObject from tcl.lang.TclClassLoader] [Loaded gov.nasa.worldwind.AVListImpl from tcl.lang.TclClassLoader] [Loaded gov.nasa.worldwind.WWObjectImpl from tcl.lang.TclClassLoader] [Loaded gov.nasa.worldwind.WorldWindowImpl from tcl.lang.TclClassLoader] [Loaded gov.nasa.worldwind.WorldWindowGLAutoDrawable from = tcl.lang.TclClassLoader] [Loaded gov.nasa.worldwind.SceneController from tcl.lang.TclClassLoader] [Loaded gov.nasa.worldwind.WorldWind from tcl.lang.TclClassLoader] [Loaded gov.nasa.worldwind.RetrievalService from = tcl.lang.TclClassLoader] [Loaded gov.nasa.worldwind.ThreadedTaskService from = tcl.lang.TclClassLoader] [Loaded java.lang.ExceptionInInitializerError from = /usr/lib/jvm/java-1.5.0-sun-1.5.0_06/jre/lib/rt.jar] [Loaded tcl.lang.ReflectObject from = file:/opt/tclblend/lib/tcljava1.4.0/tcljava.jar] [Loaded tcl.lang.ArrayObject from = file:/opt/tclblend/lib/tcljava1.4.0/tcljava.jar] [Loaded tcl.lang.JavaInfoCmd from = file:/opt/tclblend/lib/tcljava1.4.0/tcljava.jar] [Loaded java.beans.IntrospectionException from = /usr/lib/jvm/java-1.5.0-sun-1.5.0_06/jre/lib/rt.jar] java.lang.ExceptionInInitializerError % There seems to be something wrong with the = gov.nasa.worldwind.ThreadedTaskService class, right? Or is it when = trying to load the next class that the error occurs? In this case, how = can I find out which class it's trying to load after it has successfully = loaded the ThreadedTaskService class? Also, running jtclsh with the -verbose:jni option yields this result: medina@medina:/opt/tclblend/bin> ./jtclsh % set tclblend_init -verbose:jni -verbose:jni % package require java [...] 1.4.0 % java::new gov.nasa.worldwind.awt.WorldWindowGLCanvas [...] [Dynamic-linking native method = sun.reflect.NativeMethodAccessorImpl.invoke0 ... JNI] [Dynamic-linking native method = com.sun.opengl.impl.x11.GLX.glXChooseVisual1 ... JNI] [Dynamic-linking native method = com.sun.opengl.impl.x11.GLX.XGetVisualInfo1 ... JNI] [Dynamic-linking native method com.sun.opengl.impl.x11.GLX.glXGetConfig1 = ... JNI] [Dynamic-linking native method sun.awt.X11GraphicsDevice.getNumConfigs = ... JNI] //here it stays for a while, before continuing [Dynamic-linking native method tcl.lang.CObject.newCObject ... JNI] [Dynamic-linking native method tcl.lang.CObject.incrRefCount ... JNI] [Dynamic-linking native method tcl.lang.TclList.append ... JNI] [Dynamic-linking native method tcl.lang.Interp.setErrorCode ... JNI] [Dynamic-linking native method tcl.lang.CObject.decrRefCount ... JNI] [Dynamic-linking native method tcl.lang.Interp.setResult ... JNI] java.lang.ExceptionInInitializerError % I also tried to create an instance of another class, = gov.nasa.worldwind.awt.WorldWindowGLJPanel, and got a similar result: With -verbose:class option: medina@medina:/opt/tclblend/bin> ./jtclsh % set tclblend_init -verbose:class -verbose:class % package require java [...] 1.4.0 % java::new gov.nasa.worldwind.awt.WorldWindowGLJPanel [...] [Loaded gov.nasa.worldwind.AVListImpl from tcl.lang.TclClassLoader] [Loaded gov.nasa.worldwind.WWObjectImpl from tcl.lang.TclClassLoader] [Loaded gov.nasa.worldwind.WorldWindowImpl from tcl.lang.TclClassLoader] [Loaded gov.nasa.worldwind.WorldWindowGLAutoDrawable from = tcl.lang.TclClassLoader] [Loaded gov.nasa.worldwind.SceneController from tcl.lang.TclClassLoader] [Loaded gov.nasa.worldwind.WorldWind from tcl.lang.TclClassLoader] [Loaded gov.nasa.worldwind.RetrievalService from = tcl.lang.TclClassLoader] [Loaded gov.nasa.worldwind.ThreadedTaskService from = tcl.lang.TclClassLoader] [Loaded java.lang.ExceptionInInitializerError from = /usr/lib/jvm/java-1.5.0-sun-1.5.0_06/jre/lib/rt.jar] [Loaded tcl.lang.ReflectObject from = file:/opt/tclblend/lib/tcljava1.4.0/tcljava.jar] [Loaded tcl.lang.ArrayObject from = file:/opt/tclblend/lib/tcljava1.4.0/tcljava.jar] [Loaded tcl.lang.JavaInfoCmd from = file:/opt/tclblend/lib/tcljava1.4.0/tcljava.jar] [Loaded java.beans.IntrospectionException from = /usr/lib/jvm/java-1.5.0-sun-1.5.0_06/jre/lib/rt.jar] java.lang.ExceptionInInitializerError % With -verbose:jni option: medina@medina:/opt/tclblend/bin> ./jtclsh % set tclblend_init -verbose:jni -verbose:jni % package require java [...] 1.4.0 % java::new gov.nasa.worldwind.awt.WorldWindowGLJPanel [...] [Dynamic-linking native method java.lang.StrictMath.floor ... JNI] [Dynamic-linking native method java.awt.KeyboardFocusManager.initIDs ... = JNI] [Dynamic-linking native method sun.awt.X11.XlibWrapper.XEventsQueued ... = JNI] [Dynamic-linking native method sun.awt.X11.XToolkit.waitForEvents ... = JNI] [Dynamic-linking native method java.lang.Class.isInstance ... JNI] [Dynamic-linking native method = sun.reflect.NativeMethodAccessorImpl.invoke0 ... JNI] [Dynamic-linking native method java.awt.Rectangle.initIDs ... JNI] = //here it stays for a while, before continuing [Dynamic-linking native method tcl.lang.CObject.newCObject ... JNI] [Dynamic-linking native method tcl.lang.CObject.incrRefCount ... JNI] [Dynamic-linking native method tcl.lang.TclList.append ... JNI] [Dynamic-linking native method tcl.lang.Interp.setErrorCode ... JNI] [Dynamic-linking native method tcl.lang.CObject.decrRefCount ... JNI] [Dynamic-linking native method tcl.lang.Interp.setResult ... JNI] java.lang.ExceptionInInitializerError % Just in case, the contents of the ThreadedTaskService.java file are as = follows: --------------------------------------- --------------------------------------- --------------------------------------- /* Copyright (C) 2001, 2006 United States Government as represented by the Administrator of the National Aeronautics and Space Administration. All Rights Reserved. */ package gov.nasa.worldwind; /** * @author Tom Gaskins * @version $Id: ThreadedTaskService.java 1792 2007-05-08 21:28:37Z = tgaskins $ */ public class ThreadedTaskService extends WWObjectImpl // TODO: Extract = interface implements Thread.UncaughtExceptionHandler { static final private int DEFAULT_CORE_POOL_SIZE =3D 1; static final private int DEFAULT_QUEUE_SIZE =3D 10; private static final String RUNNING_THREAD_NAME_PREFIX =3D = WorldWind.retrieveMessage( "ThreadedTaskService.RUNNING_THREAD_NAME_PREFIX", = "ThreadStrings"); private static final String IDLE_THREAD_NAME_PREFIX =3D = WorldWind.retrieveMessage( "ThreadedTaskService.IDLE_THREAD_NAME_PREFIX", "ThreadStrings"); private java.util.concurrent.ConcurrentLinkedQueue<Runnable> = activeTasks; // tasks currently allocated a thread private TaskExecutor executor; // thread pool for running retrievers public ThreadedTaskService() { Integer poolSize =3D = Configuration.getIntegerValue(AVKey.THREADED_TASK_POOL_SIZE, = DEFAULT_CORE_POOL_SIZE); Integer queueSize =3D = Configuration.getIntegerValue(AVKey.THREADED_TASK_QUEUE_SIZE, = DEFAULT_QUEUE_SIZE); // this.executor runs the tasks, each in their own thread this.executor =3D new TaskExecutor(poolSize, queueSize); // this.activeTasks holds the list of currently executing tasks this.activeTasks =3D new = java.util.concurrent.ConcurrentLinkedQueue<Runnable>(); } public void uncaughtException(Thread thread, Throwable throwable) { if (throwable instanceof WWDuplicateRequestException) return; String message =3D = WorldWind.retrieveErrMsg("ThreadedTaskService.UncaughtExceptionDuringTask= ") + thread.getName(); WorldWind.logger().log(java.util.logging.Level.FINE, message); = Thread.currentThread().getThreadGroup().uncaughtException(thread, = throwable); } private class TaskExecutor extends = java.util.concurrent.ThreadPoolExecutor { private static final long THREAD_TIMEOUT =3D 2; // keep idle = threads alive this many seconds private TaskExecutor(int poolSize, int queueSize) { super(poolSize, poolSize, THREAD_TIMEOUT, = java.util.concurrent.TimeUnit.SECONDS, new = java.util.concurrent.ArrayBlockingQueue<Runnable>(queueSize), new java.util.concurrent.ThreadFactory() { public Thread newThread(Runnable runnable) { Thread thread =3D new Thread(runnable); thread.setDaemon(true); thread.setPriority(Thread.MIN_PRIORITY); = thread.setUncaughtExceptionHandler(ThreadedTaskService.this); return thread; } }, new = java.util.concurrent.ThreadPoolExecutor.DiscardPolicy() // abandon task = when queue is full { public void rejectedExecution(Runnable runnable, java.util.concurrent.ThreadPoolExecutor = threadPoolExecutor) { // Interposes logging for rejected execution String message =3D = WorldWind.retrieveErrMsg("ThreadedTaskService.ResourceRejected") + = runnable; = WorldWind.logger().log(java.util.logging.Level.FINEST, message); super.rejectedExecution(runnable, = threadPoolExecutor); } }); } protected void beforeExecute(Thread thread, Runnable runnable) { WorldWind.logger().log(java.util.logging.Level.FINEST, = WorldWind.retrieveErrMsg( "ThreadedTaskService.EnteringBeforeExecute")); if (thread =3D=3D null) { String msg =3D = WorldWind.retrieveErrMsg("nullValue.ThreadIsNull"); WorldWind.logger().log(java.util.logging.Level.FINE, = msg); throw new IllegalArgumentException(msg); } if (runnable =3D=3D null) { String msg =3D = WorldWind.retrieveErrMsg("nullValue.RunnableIsNull"); WorldWind.logger().log(java.util.logging.Level.FINE, = msg); throw new IllegalArgumentException(msg); } if (ThreadedTaskService.this.activeTasks.contains(runnable)) { String message =3D = WorldWind.retrieveErrMsg("ThreadedTaskService.CancellingDuplicateTask") = + runnable; WorldWind.logger().log(java.util.logging.Level.FINER, = message); throw new WWDuplicateRequestException(message); } ThreadedTaskService.this.activeTasks.add(runnable); if (RUNNING_THREAD_NAME_PREFIX !=3D null) thread.setName(RUNNING_THREAD_NAME_PREFIX + runnable); thread.setPriority(Thread.MIN_PRIORITY); = thread.setUncaughtExceptionHandler(ThreadedTaskService.this); super.beforeExecute(thread, runnable); WorldWind.logger().log(java.util.logging.Level.FINEST, = WorldWind.retrieveErrMsg( "ThreadedTaskService.LeavingBeforeExecute")); } protected void afterExecute(Runnable runnable, Throwable = throwable) { WorldWind.logger().log(java.util.logging.Level.FINEST, = WorldWind.retrieveErrMsg( "ThreadedTaskService.EnteringAfterExecute")); if (runnable =3D=3D null) { String msg =3D = WorldWind.retrieveErrMsg("nullValue.RunnableIsNull"); WorldWind.logger().log(java.util.logging.Level.FINE, = msg); throw new IllegalArgumentException(msg); } super.afterExecute(runnable, throwable); ThreadedTaskService.this.activeTasks.remove(runnable); if (throwable =3D=3D null && IDLE_THREAD_NAME_PREFIX !=3D = null) Thread.currentThread().setName(IDLE_THREAD_NAME_PREFIX); } } public synchronized boolean contains(Runnable runnable) { //noinspection SimplifiableIfStatement if (runnable =3D=3D null) return false; return (this.activeTasks.contains(runnable) || = this.executor.getQueue().contains(runnable)); } /** * Enqueues a task to run. * @param runnable the task to add * @throws IllegalArgumentException if <code>runnable</code> is null */ public synchronized void addTask(Runnable runnable) { if (runnable =3D=3D null) { String message =3D = WorldWind.retrieveErrMsg("nullValue.RunnableIsNull"); WorldWind.logger().log(java.util.logging.Level.FINE, = message); throw new IllegalArgumentException(message); } // Do not queue duplicates. if (this.activeTasks.contains(runnable) || = this.executor.getQueue().contains(runnable)) return; this.executor.execute(runnable); } public boolean isFull() { return this.executor.getQueue().remainingCapacity() =3D=3D 0; } } --------------------------------------- --------------------------------------- --------------------------------------- I really would be very grateful if you could help me with this. Kind regards, Daniel Medina -----Original Message----- From: tcl...@li... on behalf of Mo DeJong Sent: Wed 5/23/2007 9:46 PM To: A list for users of tcljava Subject: Re: [tcljava-user] Using Tcl Blend with NASA WorldWind Java SDK Dan...@dl... wrote: > Hi, > =20 > Specifically, I get the following error message when trying to create = a WorldWindowGLCanvas object from jtclsh: >=20 > medina@onyx:/opt/tclblend/bin> ./jtclsh > % package require java > 1.4.0 > % java::call System getProperty "java.version" > 1.5.0_06 > =20 Tcl Blend should work find with JDK 1.5. > % java::new javax.swing.JFrame > java0x1 > % java::new javax.media.opengl.GLCanvas > java0x2 > % java::new gov.nasa.worldwind.layers.IconLayer > java0x3 > % java::new gov.nasa.worldwind.layers.Earth.EarthNASAPlaceNameLayer > java0x4 > % java::new gov.nasa.worldwind.awt.AWTInputHandler > java0x5 > % java::new gov.nasa.worldwind.awt.WorldWindowGLCanvas > java.lang.ExceptionInInitializerError > =20 This is a generic Java error that indicates an exception was raised while loading the class or invoking the static init method for the class. You will have to look at the class in question to find out why. If this package uses native code then it could fail because it does not find needed DLL on the PATH. I hope that helps Mo -------------------------------------------------------------------------= This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ = <https://owa.dlr.de/exchweb/bin/redir.asp?URL=3Dhttp://sourceforge.net/po= werbar/db2/>=20 _______________________________________________ tcljava-user mailing list tcl...@li... https://lists.sourceforge.net/lists/listinfo/tcljava-user = <https://owa.dlr.de/exchweb/bin/redir.asp?URL=3Dhttps://lists.sourceforge= .net/lists/listinfo/tcljava-user> =20 |