@echo off
setlocal
echo ###################################################
echo # Get Cloudscape runtime info on %computername%
echo ###################################################
set CLASSPATH=%CLASSPATH%;d:\IBM\Cloudscape_10.1\lib\derby.jar
set CLASSPATH=%CLASSPATH%;d:\IBM\Cloudscape_10.1\lib\derbyclient.jar
set CLASSPATH=%CLASSPATH%;d:\IBM\Cloudscape_10.1\lib\derbynet.jar
set CLASSPATH=%CLASSPATH%;d:\IBM\Cloudscape_10.1\lib\derbytools.jar
set logFileDir=D:\CloudscapeDatabases\trace
d:\tclBlendSun\bin\jtclsh.bat D:\scripts\TCL\JACL\cloudscape\getRunTimeInfo.tcl %logFileDir%
endlocal
==========================================================================
#
# get cloudscape runtime info on local host.
####################################################################
# Patrick Finnegan 24/11/2005. V1.
####################################################################
puts "\n **** executing [info script] **** \n"
# make script drive independent.
set drive [lindex [file split [info script]] 0 ]
puts "\n proclib = $drive/scripts/TCL/proclib"
source $drive/scripts/TCL/proclib/checkFile_proc.tcl
source $drive/scripts/TCL/proclib/smtp_proc.tcl
source $drive/scripts/TCL/proclib/reportHeader_proc.tcl
####################################################################
# Get Cloudscape connection.
####################################################################
proc runtimeInfo { } {
puts "\n**********"
puts "runtimeInfo"
puts "**********\n"
global env
global null
set hostName [ lindex [ array get env COMPUTERNAME ] 1 ]
#set hostAddress [ java::call InetAddress getByName $hostName ]
set hostAddress [ java::call InetAddress getByName "0.0.0.0" ]
if { [ catch { java::new NetworkServerControl $hostAddress 1527 } r ] == 0 } {
set NetworkServerControl $r
} else {
return -code error $r
}
puts "\nget runtime info\n"
if { [ catch { $NetworkServerControl getRuntimeInfo } r ] == 0 } {
puts $r
} else {
return -code error $r
}
return $r
}
####################################################################
# Main Control.
####################################################################
puts "\n argc = $argc \n"
if {$argc < 1} {
return -code error "\nerror - not enough arguments supplied.\nSupply log directory."
}
set computerName $::env(COMPUTERNAME)
set traceDir [ lindex $argv 0 ]
set traceFile [ file join $traceDir runTimeInfo\.txt ]
set traceFileId [ open $traceFile w ]
set body $traceFile
checkFile $traceDir
set header "$computerName: get Cloudscape runtime info."
reportHeader $traceFileId $header $traceFile
set computerTime [clock format [clock seconds] -format "%d-%m-%Y %H.%M.%S"]
puts "tracefile = $traceFile"
#call java package
package require java
# import required classes
java::import java.net.InetAddress
java::import org.apache.derby.drda.NetworkServerControl
puts "\nimported classes are:\n"
foreach i [java::import] {
puts [ format "%-5s %-50s" " " $i ]
}
set null [ java::null ]
if { [ catch { runtimeInfo } r ] == 0 } {
lappend msg "\n********* Cloudscape Runtime Info *********\n"
lappend msg $r
} else {
lappend msg "\n********* Cloudscape Runtime Info Failed *********\n"
lappend msg $r
}
foreach i $msg {
puts $i
puts $traceFileId $i
}
close $traceFileId
set subject "$computerName: Cloudscape Runtime Info."
set emailAddress you@yourmail.com
sendSimpleMessage $emailAddress $subject $body