Added:
trunk/connector-mxj/commercial/5-0-36/
trunk/connector-mxj/commercial/5-0-36/Linux-i386/
trunk/connector-mxj/commercial/5-0-36/Linux-i386/mysqld
trunk/connector-mxj/commercial/5-0-36/Linux-i386/version.txt
trunk/connector-mxj/commercial/5-0-36/Mac_OS_X-i386/
trunk/connector-mxj/commercial/5-0-36/Mac_OS_X-i386/mysqld
trunk/connector-mxj/commercial/5-0-36/Mac_OS_X-i386/version.txt
trunk/connector-mxj/commercial/5-0-36/Mac_OS_X-ppc/
trunk/connector-mxj/commercial/5-0-36/Mac_OS_X-ppc/mysqld
trunk/connector-mxj/commercial/5-0-36/Mac_OS_X-ppc/version.txt
trunk/connector-mxj/commercial/5-0-36/SunOS-sparc/
trunk/connector-mxj/commercial/5-0-36/SunOS-sparc/mysqld
trunk/connector-mxj/commercial/5-0-36/SunOS-sparc/version.txt
trunk/connector-mxj/commercial/5-0-36/Win-x86/
trunk/connector-mxj/commercial/5-0-36/Win-x86/mysqld-nt.exe
trunk/connector-mxj/commercial/5-0-36/Win-x86/version.txt
trunk/connector-mxj/commercial/5-0-36/com/
trunk/connector-mxj/commercial/5-0-36/com/mysql/
trunk/connector-mxj/commercial/5-0-36/com/mysql/management/
trunk/connector-mxj/commercial/5-0-36/com/mysql/management/MySQL_Help.txt
trunk/connector-mxj/commercial/5-0-36/data_dir.jar
trunk/connector-mxj/commercial/5-0-36/share_dir.jar
trunk/connector-mxj/commercial/5-0-36/win_share_dir.jar
trunk/connector-mxj/resources/5-0-37/
trunk/connector-mxj/resources/5-0-37/Linux-i386/
trunk/connector-mxj/resources/5-0-37/Linux-i386/mysqld
trunk/connector-mxj/resources/5-0-37/Linux-i386/version.txt
trunk/connector-mxj/resources/5-0-37/Mac_OS_X-i386/
trunk/connector-mxj/resources/5-0-37/Mac_OS_X-i386/mysqld
trunk/connector-mxj/resources/5-0-37/Mac_OS_X-i386/version.txt
trunk/connector-mxj/resources/5-0-37/Mac_OS_X-ppc/
trunk/connector-mxj/resources/5-0-37/Mac_OS_X-ppc/mysqld
trunk/connector-mxj/resources/5-0-37/Mac_OS_X-ppc/version.txt
trunk/connector-mxj/resources/5-0-37/SunOS-sparc/
trunk/connector-mxj/resources/5-0-37/SunOS-sparc/mysqld
trunk/connector-mxj/resources/5-0-37/SunOS-sparc/version.txt
trunk/connector-mxj/resources/5-0-37/Win-x86/
trunk/connector-mxj/resources/5-0-37/Win-x86/mysqld-nt.exe
trunk/connector-mxj/resources/5-0-37/Win-x86/version.txt
trunk/connector-mxj/resources/5-0-37/com/
trunk/connector-mxj/resources/5-0-37/com/mysql/
trunk/connector-mxj/resources/5-0-37/com/mysql/management/
trunk/connector-mxj/resources/5-0-37/com/mysql/management/MySQL_Help.txt
trunk/connector-mxj/resources/5-0-37/data_dir.jar
trunk/connector-mxj/resources/5-0-37/share_dir.jar
trunk/connector-mxj/resources/5-0-37/win_share_dir.jar
trunk/connector-mxj/src/com/mysql/management/util/PatchedStandardSocketFactory.java
Removed:
trunk/connector-mxj/commercial/5-0-32/
trunk/connector-mxj/resources/5-0-27/
Modified:
trunk/connector-mxj/.classpath
trunk/connector-mxj/CHANGES
trunk/connector-mxj/_dev_notes.txt
trunk/connector-mxj/commercial/connector-mxj.properties
trunk/connector-mxj/resources/connector-mxj.properties
trunk/connector-mxj/src/com/mysql/management/MysqldResource.java
Log:
2007-03-13 - swapped out gpl binaries for v5.0.37
- swapped out commercial binaries for v5.0.36
- Added Patched StandardSocketFactory from Connector/J 5-0 HEAD
Modified: trunk/connector-mxj/.classpath
===================================================================
--- trunk/connector-mxj/.classpath 2007-03-13 14:27:11 UTC (rev 72)
+++ trunk/connector-mxj/.classpath 2007-03-13 21:01:44 UTC (rev 73)
@@ -3,7 +3,7 @@
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry sourcepath="ECLIPSE_HOME/plugins/org.eclipse.jdt.source_3.0.0/src/org.junit_3.8.1/junitsrc.zip" kind="var" path="JUNIT_HOME/junit.jar"/>
+ <classpathentry kind="var" path="JUNIT_HOME/junit.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.jdt.source_3.0.0/src/org.junit_3.8.1/junitsrc.zip"/>
<classpathentry combineaccessrules="false" kind="src" path="/sun-jmx-ri-1_2_1"/>
<classpathentry combineaccessrules="false" kind="src" path="/connector-j-5-0"/>
<classpathentry kind="output" path="bin"/>
Modified: trunk/connector-mxj/CHANGES
===================================================================
--- trunk/connector-mxj/CHANGES 2007-03-13 14:27:11 UTC (rev 72)
+++ trunk/connector-mxj/CHANGES 2007-03-13 21:01:44 UTC (rev 73)
@@ -1,10 +1,13 @@
# Changelog
# $Id: CHANGES,v 1.14 2005/10/25 19:11:16 eherman Exp $
-2007-03-13 - found and removed dynamic linking in mysql_kill; updated solution
- - changed connector-mxj.properties default mysql version to 5.0.27
+2007-03-13 - swapped out gpl binaries for v5.0.37
+ - swapped out commercial binaries for v5.0.36
+ - found and removed dynamic linking in mysql_kill; updated solution
+ - changed connector-mxj.properties default mysql version to 5.0.37
+ - replaced Boolean.parseBoolean with JDK 1.4 compliant "valueOf"
+ - Added Patched StandardSocketFactory from Connector/J 5-0 HEAD
- build.xml: "usage" now slightly more verbose; some reformatting
- - replaced Boolean.parseBoolean with JDK 1.4 compliant "valueOf"
2007-03-12 - replaced windows "kill.exe" resource with re-written version
specific to mysqld.
Modified: trunk/connector-mxj/_dev_notes.txt
===================================================================
--- trunk/connector-mxj/_dev_notes.txt 2007-03-13 14:27:11 UTC (rev 72)
+++ trunk/connector-mxj/_dev_notes.txt 2007-03-13 21:01:44 UTC (rev 73)
@@ -64,7 +64,7 @@
scp build.mysql.com:/build/mysqldev/my/archive/mysql-$MXJ_MYSQL_VERSION/dist/packages/mysql-max-$MXJ_MYSQL_VERSION-osx10.4-i686.tar.gz .
scp build.mysql.com:/build/mysqldev/my/archive/mysql-$MXJ_MYSQL_VERSION/dist/packages/mysql-max-$MXJ_MYSQL_VERSION-solaris8-sparc.tar.gz .
-export MXJ_MYSQL_VERSION=5.0.32
+export MXJ_MYSQL_VERSION=5.0.36
scp build.mysql.com:/build/stage/commercial/5.0/mysql-enterprise-noinstall-$MXJ_MYSQL_VERSION-win32.zip .
scp build.mysql.com:/build/stage/commercial/5.0/mysql-enterprise-$MXJ_MYSQL_VERSION-linux-i686.tar.gz .
scp build.mysql.com:/build/stage/commercial/5.0/mysql-enterprise-$MXJ_MYSQL_VERSION-osx10.3-powerpc.tar.gz .
@@ -94,24 +94,24 @@
for file in $(ls *.gz); do tar xvf $file; done;
-export MXJ_MYSQL_VERSION=5.0.27
-export MXJ_MYSQL_DIR=5-0-27
+export MXJ_MYSQL_VERSION=5.0.37
+export MXJ_MYSQL_DIR=5-0-37
# Make sure you have the correct [enterprise/standard/max/debug] set.
cp mysql-$MXJ_MYSQL_VERSION-win32/bin/mysqld-nt.exe ~/ews-work/connector-mxj/resources/$MXJ_MYSQL_DIR/Win-x86/
echo mysql-$MXJ_MYSQL_VERSION-win32/bin/mysqld-nt.exe > ~/ews-work/connector-mxj/resources/$MXJ_MYSQL_DIR/Win-x86/version.txt
-cp mysql-standard-$MXJ_MYSQL_VERSION-linux-i686/bin/mysqld ~/ews-work/connector-mxj/resources/$MXJ_MYSQL_DIR/Linux-i386/
-echo mysql-standard-$MXJ_MYSQL_VERSION-linux-i686/bin/mysqld > ~/ews-work/connector-mxj/resources/$MXJ_MYSQL_DIR/Linux-i386/version.txt
-cp mysql-standard-$MXJ_MYSQL_VERSION-osx10.3-powerpc/bin/mysqld ~/ews-work/connector-mxj/resources/$MXJ_MYSQL_DIR/Mac_OS_X-ppc/
-echo mysql-standard-$MXJ_MYSQL_VERSION-osx10.3-powerpc/bin/mysqld > ~/ews-work/connector-mxj/resources/$MXJ_MYSQL_DIR/Mac_OS_X-ppc/version.txt
-cp mysql-standard-$MXJ_MYSQL_VERSION-osx10.4-i686/bin/mysqld ~/ews-work/connector-mxj/resources/$MXJ_MYSQL_DIR/Mac_OS_X-i386/
-echo mysql-standard-$MXJ_MYSQL_VERSION-osx10.4-i686/bin/mysqld > ~/ews-work/connector-mxj/resources/$MXJ_MYSQL_DIR/Mac_OS_X-i386/version.txt
-cp mysql-standard-$MXJ_MYSQL_VERSION-solaris8-sparc/bin/mysqld ~/ews-work/connector-mxj/resources/$MXJ_MYSQL_DIR/SunOS-sparc/
-echo mysql-standard-$MXJ_MYSQL_VERSION-solaris8-sparc/bin/mysqld > ~/ews-work/connector-mxj/resources/$MXJ_MYSQL_DIR/SunOS-sparc/version.txt
+cp mysql-$MXJ_MYSQL_VERSION-linux-i686/bin/mysqld ~/ews-work/connector-mxj/resources/$MXJ_MYSQL_DIR/Linux-i386/
+echo mysql-$MXJ_MYSQL_VERSION-linux-i686/bin/mysqld > ~/ews-work/connector-mxj/resources/$MXJ_MYSQL_DIR/Linux-i386/version.txt
+cp mysql-$MXJ_MYSQL_VERSION-osx10.3-powerpc/bin/mysqld ~/ews-work/connector-mxj/resources/$MXJ_MYSQL_DIR/Mac_OS_X-ppc/
+echo mysql-$MXJ_MYSQL_VERSION-osx10.3-powerpc/bin/mysqld > ~/ews-work/connector-mxj/resources/$MXJ_MYSQL_DIR/Mac_OS_X-ppc/version.txt
+cp mysql-$MXJ_MYSQL_VERSION-osx10.4-i686/bin/mysqld ~/ews-work/connector-mxj/resources/$MXJ_MYSQL_DIR/Mac_OS_X-i386/
+echo mysql-$MXJ_MYSQL_VERSION-osx10.4-i686/bin/mysqld > ~/ews-work/connector-mxj/resources/$MXJ_MYSQL_DIR/Mac_OS_X-i386/version.txt
+cp mysql-$MXJ_MYSQL_VERSION-solaris8-sparc/bin/mysqld ~/ews-work/connector-mxj/resources/$MXJ_MYSQL_DIR/SunOS-sparc/
+echo mysql-$MXJ_MYSQL_VERSION-solaris8-sparc/bin/mysqld > ~/ews-work/connector-mxj/resources/$MXJ_MYSQL_DIR/SunOS-sparc/version.txt
-export MXJ_MYSQL_VERSION=5.0.32
-export MXJ_MYSQL_DIR=5-0-32
+export MXJ_MYSQL_VERSION=5.0.36
+export MXJ_MYSQL_DIR=5-0-36
# Make sure you have the correct [enterprise/standard/max/debug] set.
cp mysql-enterprise-$MXJ_MYSQL_VERSION-win32/bin/mysqld-nt.exe ~/ews-work/connector-mxj/commercial/$MXJ_MYSQL_DIR/Win-x86/
Added: trunk/connector-mxj/commercial/5-0-36/Linux-i386/mysqld
===================================================================
(Binary files differ)
Property changes on: trunk/connector-mxj/commercial/5-0-36/Linux-i386/mysqld
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connector-mxj/commercial/5-0-36/Linux-i386/version.txt
===================================================================
--- trunk/connector-mxj/commercial/5-0-36/Linux-i386/version.txt 2007-03-13 14:27:11 UTC (rev 72)
+++ trunk/connector-mxj/commercial/5-0-36/Linux-i386/version.txt 2007-03-13 21:01:44 UTC (rev 73)
@@ -0,0 +1 @@
+mysql-enterprise-5.0.36-linux-i686/bin/mysqld
Added: trunk/connector-mxj/commercial/5-0-36/Mac_OS_X-i386/mysqld
===================================================================
(Binary files differ)
Property changes on: trunk/connector-mxj/commercial/5-0-36/Mac_OS_X-i386/mysqld
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connector-mxj/commercial/5-0-36/Mac_OS_X-i386/version.txt
===================================================================
--- trunk/connector-mxj/commercial/5-0-36/Mac_OS_X-i386/version.txt 2007-03-13 14:27:11 UTC (rev 72)
+++ trunk/connector-mxj/commercial/5-0-36/Mac_OS_X-i386/version.txt 2007-03-13 21:01:44 UTC (rev 73)
@@ -0,0 +1 @@
+mysql-enterprise-5.0.36-osx10.4-i686/bin/mysqld
Added: trunk/connector-mxj/commercial/5-0-36/Mac_OS_X-ppc/mysqld
===================================================================
(Binary files differ)
Property changes on: trunk/connector-mxj/commercial/5-0-36/Mac_OS_X-ppc/mysqld
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connector-mxj/commercial/5-0-36/Mac_OS_X-ppc/version.txt
===================================================================
--- trunk/connector-mxj/commercial/5-0-36/Mac_OS_X-ppc/version.txt 2007-03-13 14:27:11 UTC (rev 72)
+++ trunk/connector-mxj/commercial/5-0-36/Mac_OS_X-ppc/version.txt 2007-03-13 21:01:44 UTC (rev 73)
@@ -0,0 +1 @@
+mysql-enterprise-5.0.36-osx10.3-powerpc/bin/mysqld
Added: trunk/connector-mxj/commercial/5-0-36/SunOS-sparc/mysqld
===================================================================
(Binary files differ)
Property changes on: trunk/connector-mxj/commercial/5-0-36/SunOS-sparc/mysqld
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connector-mxj/commercial/5-0-36/SunOS-sparc/version.txt
===================================================================
--- trunk/connector-mxj/commercial/5-0-36/SunOS-sparc/version.txt 2007-03-13 14:27:11 UTC (rev 72)
+++ trunk/connector-mxj/commercial/5-0-36/SunOS-sparc/version.txt 2007-03-13 21:01:44 UTC (rev 73)
@@ -0,0 +1 @@
+mysql-enterprise-5.0.36-solaris8-sparc/bin/mysqld
Added: trunk/connector-mxj/commercial/5-0-36/Win-x86/mysqld-nt.exe
===================================================================
(Binary files differ)
Property changes on: trunk/connector-mxj/commercial/5-0-36/Win-x86/mysqld-nt.exe
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connector-mxj/commercial/5-0-36/Win-x86/version.txt
===================================================================
--- trunk/connector-mxj/commercial/5-0-36/Win-x86/version.txt 2007-03-13 14:27:11 UTC (rev 72)
+++ trunk/connector-mxj/commercial/5-0-36/Win-x86/version.txt 2007-03-13 21:01:44 UTC (rev 73)
@@ -0,0 +1 @@
+mysql-enterprise-5.0.36-win32/bin/mysqld-nt.exe
Added: trunk/connector-mxj/commercial/5-0-36/com/mysql/management/MySQL_Help.txt
===================================================================
--- trunk/connector-mxj/commercial/5-0-36/com/mysql/management/MySQL_Help.txt 2007-03-13 14:27:11 UTC (rev 72)
+++ trunk/connector-mxj/commercial/5-0-36/com/mysql/management/MySQL_Help.txt 2007-03-13 21:01:44 UTC (rev 73)
@@ -0,0 +1,183 @@
+./bin/mysql Ver 14.12 Distrib 5.0.36, for apple-darwin8.5.1 (i686) using EditLine wrapper
+Copyright (C) 2002 MySQL AB
+This is commercial software, and use of this software is governed
+by your applicable license agreement with MySQL
+Usage: ./bin/mysql [OPTIONS] [database]
+ -?, --help Display this help and exit.
+ -I, --help Synonym for -?
+ --auto-rehash Enable automatic rehashing. One doesn't need to use
+ 'rehash' to get table and field completion, but startup
+ and reconnecting may take a longer time. Disable with
+ --disable-auto-rehash.
+ -A, --no-auto-rehash
+ No automatic rehashing. One has to use 'rehash' to get
+ table and field completion. This gives a quicker start of
+ mysql and disables rehashing on reconnect. WARNING:
+ options deprecated; use --disable-auto-rehash instead.
+ -B, --batch Don't use history file. Disable interactive behavior.
+ (Enables --silent)
+ --character-sets-dir=name
+ Directory where character sets are.
+ --default-character-set=name
+ Set the default character set.
+ -C, --compress Use compression in server/client protocol.
+ -#, --debug[=#] This is a non-debug version. Catch this and exit
+ -D, --database=name Database to use.
+ --delimiter=name Delimiter to be used.
+ -e, --execute=name Execute command and quit. (Disables --force and history
+ file)
+ -E, --vertical Print the output of a query (rows) vertically.
+ -f, --force Continue even if we get an sql error.
+ -G, --named-commands
+ Enable named commands. Named commands mean this program's
+ internal commands; see mysql> help . When enabled, the
+ named commands can be used from any line of the query,
+ otherwise only from the first line, before an enter.
+ Disable with --disable-named-commands. This option is
+ disabled by default.
+ -g, --no-named-commands
+ Named commands are disabled. Use \* form only, or use
+ named commands only in the beginning of a line ending
+ with a semicolon (;) Since version 10.9 the client now
+ starts with this option ENABLED by default! Disable with
+ '-G'. Long format commands still work from the first
+ line. WARNING: option deprecated; use
+ --disable-named-commands instead.
+ -i, --ignore-spaces Ignore space after function names.
+ --local-infile Enable/disable LOAD DATA LOCAL INFILE.
+ -b, --no-beep Turn off beep on error.
+ -h, --host=name Connect to host.
+ -H, --html Produce HTML output.
+ -X, --xml Produce XML output
+ --line-numbers Write line numbers for errors.
+ -L, --skip-line-numbers
+ Don't write line number for errors. WARNING: -L is
+ deprecated, use long version of this option instead.
+ -n, --unbuffered Flush buffer after each query.
+ --column-names Write column names in results.
+ -N, --skip-column-names
+ Don't write column names in results. WARNING: -N is
+ deprecated, use long version of this options instead.
+ -O, --set-variable=name
+ Change the value of a variable. Please note that this
+ option is deprecated; you can set variables directly with
+ --variable-name=value.
+ --sigint-ignore Ignore SIGINT (CTRL-C)
+ -o, --one-database Only update the default database. This is useful for
+ skipping updates to other database in the update log.
+ --pager[=name] Pager to use to display results. If you don't supply an
+ option the default pager is taken from your ENV variable
+ PAGER. Valid pagers are less, more, cat [> filename],
+ etc. See interactive help (\h) also. This option does not
+ work in batch mode. Disable with --disable-pager. This
+ option is disabled by default.
+ --no-pager Disable pager and print to stdout. See interactive help
+ (\h) also. WARNING: option deprecated; use
+ --disable-pager instead.
+ -p, --password[=name]
+ Password to use when connecting to server. If password is
+ not given it's asked from the tty.
+ -P, --port=# Port number to use for connection.
+ --prompt=name Set the mysql prompt to this value.
+ --protocol=name The protocol of connection (tcp,socket,pipe,memory).
+ -q, --quick Don't cache result, print it row by row. This may slow
+ down the server if the output is suspended. Doesn't use
+ history file.
+ -r, --raw Write fields without conversion. Used with --batch.
+ --reconnect Reconnect if the connection is lost. Disable with
+ --disable-reconnect. This option is enabled by default.
+ -s, --silent Be more silent. Print results with a tab as separator,
+ each row on new line.
+ -S, --socket=name Socket file to use for connection.
+ --ssl Enable SSL for connection (automatically enabled with
+ other flags). Disable with --skip-ssl.
+ --ssl-ca=name CA file in PEM format (check OpenSSL docs, implies
+ --ssl).
+ --ssl-capath=name CA directory (check OpenSSL docs, implies --ssl).
+ --ssl-cert=name X509 cert in PEM format (implies --ssl).
+ --ssl-cipher=name SSL cipher to use (implies --ssl).
+ --ssl-key=name X509 key in PEM format (implies --ssl).
+ --ssl-verify-server-cert
+ Verify server's "Common Name" in its cert against
+ hostname used when connecting. This option is disabled by
+ default.
+ -t, --table Output in table format.
+ -T, --debug-info Print some debug info at exit.
+ --tee=name Append everything into outfile. See interactive help (\h)
+ also. Does not work in batch mode. Disable with
+ --disable-tee. This option is disabled by default.
+ --no-tee Disable outfile. See interactive help (\h) also. WARNING:
+ option deprecated; use --disable-tee instead
+ -u, --user=name User for login if not current user.
+ -U, --safe-updates Only allow UPDATE and DELETE that uses keys.
+ -U, --i-am-a-dummy Synonym for option --safe-updates, -U.
+ -v, --verbose Write more. (-v -v -v gives the table output format).
+ -V, --version Output version information and exit.
+ -w, --wait Wait and retry if connection is down.
+ --connect_timeout=# Number of seconds before connection timeout.
+ --max_allowed_packet=#
+ Max packet length to send to, or receive from server
+ --net_buffer_length=#
+ Buffer for TCP/IP and socket communication
+ --select_limit=# Automatic limit for SELECT when using --safe-updates
+ --max_join_size=# Automatic limit for rows in a join when using
+ --safe-updates
+ --secure-auth Refuse client connecting to server if it uses old
+ (pre-4.1.1) protocol
+ --show-warnings Show warnings after every statement.
+
+Default options are read from the following files in the given order:
+/etc/my.cnf ~/.my.cnf /usr/local/mysql/etc/my.cnf
+The following groups are read: mysql client
+The following options may be given as the first argument:
+--print-defaults Print the program argument list and exit
+--no-defaults Don't read default options from any options file
+--defaults-file=# Only read default options from the given file #
+--defaults-extra-file=# Read this file after the global files are read
+
+Variables (--variable-name=value)
+and boolean options {FALSE|TRUE} Value (after reading options)
+--------------------------------- -----------------------------
+auto-rehash TRUE
+character-sets-dir (No default value)
+default-character-set latin1
+compress FALSE
+database (No default value)
+delimiter ;
+vertical FALSE
+force FALSE
+named-commands FALSE
+local-infile FALSE
+no-beep FALSE
+host (No default value)
+html FALSE
+xml FALSE
+line-numbers TRUE
+unbuffered FALSE
+column-names TRUE
+sigint-ignore FALSE
+port 0
+prompt mysql>
+quick FALSE
+raw FALSE
+reconnect TRUE
+socket (No default value)
+ssl FALSE
+ssl-ca (No default value)
+ssl-capath (No default value)
+ssl-cert (No default value)
+ssl-cipher (No default value)
+ssl-key (No default value)
+ssl-verify-server-cert FALSE
+table FALSE
+debug-info FALSE
+user (No default value)
+safe-updates FALSE
+i-am-a-dummy FALSE
+connect_timeout 0
+max_allowed_packet 16777216
+net_buffer_length 16384
+select_limit 1000
+max_join_size 1000000
+secure-auth FALSE
+show-warnings FALSE
Added: trunk/connector-mxj/commercial/5-0-36/data_dir.jar
===================================================================
(Binary files differ)
Property changes on: trunk/connector-mxj/commercial/5-0-36/data_dir.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connector-mxj/commercial/5-0-36/share_dir.jar
===================================================================
(Binary files differ)
Property changes on: trunk/connector-mxj/commercial/5-0-36/share_dir.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connector-mxj/commercial/5-0-36/win_share_dir.jar
===================================================================
(Binary files differ)
Property changes on: trunk/connector-mxj/commercial/5-0-36/win_share_dir.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/connector-mxj/commercial/connector-mxj.properties
===================================================================
--- trunk/connector-mxj/commercial/connector-mxj.properties 2007-03-13 14:27:11 UTC (rev 72)
+++ trunk/connector-mxj/commercial/connector-mxj.properties 2007-03-13 21:01:44 UTC (rev 73)
@@ -1,7 +1,7 @@
# Connector/MXJ properties
# default version of mysqld to deploy
-mysql-version=5.0.32
+mysql-version=5.0.36
# for Windows and Linux, Connector/MXJ can default to 32 bit x86 architecture
# so binaries resources are not required for each variation.
Added: trunk/connector-mxj/resources/5-0-37/Linux-i386/mysqld
===================================================================
(Binary files differ)
Property changes on: trunk/connector-mxj/resources/5-0-37/Linux-i386/mysqld
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connector-mxj/resources/5-0-37/Linux-i386/version.txt
===================================================================
--- trunk/connector-mxj/resources/5-0-37/Linux-i386/version.txt 2007-03-13 14:27:11 UTC (rev 72)
+++ trunk/connector-mxj/resources/5-0-37/Linux-i386/version.txt 2007-03-13 21:01:44 UTC (rev 73)
@@ -0,0 +1 @@
+mysql-5.0.37-linux-i686/bin/mysqld
Added: trunk/connector-mxj/resources/5-0-37/Mac_OS_X-i386/mysqld
===================================================================
(Binary files differ)
Property changes on: trunk/connector-mxj/resources/5-0-37/Mac_OS_X-i386/mysqld
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connector-mxj/resources/5-0-37/Mac_OS_X-i386/version.txt
===================================================================
--- trunk/connector-mxj/resources/5-0-37/Mac_OS_X-i386/version.txt 2007-03-13 14:27:11 UTC (rev 72)
+++ trunk/connector-mxj/resources/5-0-37/Mac_OS_X-i386/version.txt 2007-03-13 21:01:44 UTC (rev 73)
@@ -0,0 +1 @@
+mysql-5.0.37-osx10.4-i686/bin/mysqld
Added: trunk/connector-mxj/resources/5-0-37/Mac_OS_X-ppc/mysqld
===================================================================
(Binary files differ)
Property changes on: trunk/connector-mxj/resources/5-0-37/Mac_OS_X-ppc/mysqld
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connector-mxj/resources/5-0-37/Mac_OS_X-ppc/version.txt
===================================================================
--- trunk/connector-mxj/resources/5-0-37/Mac_OS_X-ppc/version.txt 2007-03-13 14:27:11 UTC (rev 72)
+++ trunk/connector-mxj/resources/5-0-37/Mac_OS_X-ppc/version.txt 2007-03-13 21:01:44 UTC (rev 73)
@@ -0,0 +1 @@
+mysql-5.0.37-osx10.3-powerpc/bin/mysqld
Added: trunk/connector-mxj/resources/5-0-37/SunOS-sparc/mysqld
===================================================================
(Binary files differ)
Property changes on: trunk/connector-mxj/resources/5-0-37/SunOS-sparc/mysqld
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connector-mxj/resources/5-0-37/SunOS-sparc/version.txt
===================================================================
--- trunk/connector-mxj/resources/5-0-37/SunOS-sparc/version.txt 2007-03-13 14:27:11 UTC (rev 72)
+++ trunk/connector-mxj/resources/5-0-37/SunOS-sparc/version.txt 2007-03-13 21:01:44 UTC (rev 73)
@@ -0,0 +1 @@
+mysql-5.0.37-solaris8-sparc/bin/mysqld
Added: trunk/connector-mxj/resources/5-0-37/Win-x86/mysqld-nt.exe
===================================================================
(Binary files differ)
Property changes on: trunk/connector-mxj/resources/5-0-37/Win-x86/mysqld-nt.exe
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connector-mxj/resources/5-0-37/Win-x86/version.txt
===================================================================
--- trunk/connector-mxj/resources/5-0-37/Win-x86/version.txt 2007-03-13 14:27:11 UTC (rev 72)
+++ trunk/connector-mxj/resources/5-0-37/Win-x86/version.txt 2007-03-13 21:01:44 UTC (rev 73)
@@ -0,0 +1 @@
+mysql-5.0.37-win32/bin/mysqld-nt.exe
Added: trunk/connector-mxj/resources/5-0-37/com/mysql/management/MySQL_Help.txt
===================================================================
--- trunk/connector-mxj/resources/5-0-37/com/mysql/management/MySQL_Help.txt 2007-03-13 14:27:11 UTC (rev 72)
+++ trunk/connector-mxj/resources/5-0-37/com/mysql/management/MySQL_Help.txt 2007-03-13 21:01:44 UTC (rev 73)
@@ -0,0 +1,183 @@
+./bin/mysql Ver 14.12 Distrib 5.0.37, for apple-darwin8.5.1 (i686) using readline 5.0
+Copyright (C) 2002 MySQL AB
+This software comes with ABSOLUTELY NO WARRANTY. This is free software,
+and you are welcome to modify and redistribute it under the GPL license
+Usage: ./bin/mysql [OPTIONS] [database]
+ -?, --help Display this help and exit.
+ -I, --help Synonym for -?
+ --auto-rehash Enable automatic rehashing. One doesn't need to use
+ 'rehash' to get table and field completion, but startup
+ and reconnecting may take a longer time. Disable with
+ --disable-auto-rehash.
+ -A, --no-auto-rehash
+ No automatic rehashing. One has to use 'rehash' to get
+ table and field completion. This gives a quicker start of
+ mysql and disables rehashing on reconnect. WARNING:
+ options deprecated; use --disable-auto-rehash instead.
+ -B, --batch Don't use history file. Disable interactive behavior.
+ (Enables --silent)
+ --character-sets-dir=name
+ Directory where character sets are.
+ --default-character-set=name
+ Set the default character set.
+ -C, --compress Use compression in server/client protocol.
+ -#, --debug[=#] This is a non-debug version. Catch this and exit
+ -D, --database=name Database to use.
+ --delimiter=name Delimiter to be used.
+ -e, --execute=name Execute command and quit. (Disables --force and history
+ file)
+ -E, --vertical Print the output of a query (rows) vertically.
+ -f, --force Continue even if we get an sql error.
+ -G, --named-commands
+ Enable named commands. Named commands mean this program's
+ internal commands; see mysql> help . When enabled, the
+ named commands can be used from any line of the query,
+ otherwise only from the first line, before an enter.
+ Disable with --disable-named-commands. This option is
+ disabled by default.
+ -g, --no-named-commands
+ Named commands are disabled. Use \* form only, or use
+ named commands only in the beginning of a line ending
+ with a semicolon (;) Since version 10.9 the client now
+ starts with this option ENABLED by default! Disable with
+ '-G'. Long format commands still work from the first
+ line. WARNING: option deprecated; use
+ --disable-named-commands instead.
+ -i, --ignore-spaces Ignore space after function names.
+ --local-infile Enable/disable LOAD DATA LOCAL INFILE.
+ -b, --no-beep Turn off beep on error.
+ -h, --host=name Connect to host.
+ -H, --html Produce HTML output.
+ -X, --xml Produce XML output
+ --line-numbers Write line numbers for errors.
+ -L, --skip-line-numbers
+ Don't write line number for errors. WARNING: -L is
+ deprecated, use long version of this option instead.
+ -n, --unbuffered Flush buffer after each query.
+ --column-names Write column names in results.
+ -N, --skip-column-names
+ Don't write column names in results. WARNING: -N is
+ deprecated, use long version of this options instead.
+ -O, --set-variable=name
+ Change the value of a variable. Please note that this
+ option is deprecated; you can set variables directly with
+ --variable-name=value.
+ --sigint-ignore Ignore SIGINT (CTRL-C)
+ -o, --one-database Only update the default database. This is useful for
+ skipping updates to other database in the update log.
+ --pager[=name] Pager to use to display results. If you don't supply an
+ option the default pager is taken from your ENV variable
+ PAGER. Valid pagers are less, more, cat [> filename],
+ etc. See interactive help (\h) also. This option does not
+ work in batch mode. Disable with --disable-pager. This
+ option is disabled by default.
+ --no-pager Disable pager and print to stdout. See interactive help
+ (\h) also. WARNING: option deprecated; use
+ --disable-pager instead.
+ -p, --password[=name]
+ Password to use when connecting to server. If password is
+ not given it's asked from the tty.
+ -P, --port=# Port number to use for connection.
+ --prompt=name Set the mysql prompt to this value.
+ --protocol=name The protocol of connection (tcp,socket,pipe,memory).
+ -q, --quick Don't cache result, print it row by row. This may slow
+ down the server if the output is suspended. Doesn't use
+ history file.
+ -r, --raw Write fields without conversion. Used with --batch.
+ --reconnect Reconnect if the connection is lost. Disable with
+ --disable-reconnect. This option is enabled by default.
+ -s, --silent Be more silent. Print results with a tab as separator,
+ each row on new line.
+ -S, --socket=name Socket file to use for connection.
+ --ssl Enable SSL for connection (automatically enabled with
+ other flags). Disable with --skip-ssl.
+ --ssl-ca=name CA file in PEM format (check OpenSSL docs, implies
+ --ssl).
+ --ssl-capath=name CA directory (check OpenSSL docs, implies --ssl).
+ --ssl-cert=name X509 cert in PEM format (implies --ssl).
+ --ssl-cipher=name SSL cipher to use (implies --ssl).
+ --ssl-key=name X509 key in PEM format (implies --ssl).
+ --ssl-verify-server-cert
+ Verify server's "Common Name" in its cert against
+ hostname used when connecting. This option is disabled by
+ default.
+ -t, --table Output in table format.
+ -T, --debug-info Print some debug info at exit.
+ --tee=name Append everything into outfile. See interactive help (\h)
+ also. Does not work in batch mode. Disable with
+ --disable-tee. This option is disabled by default.
+ --no-tee Disable outfile. See interactive help (\h) also. WARNING:
+ option deprecated; use --disable-tee instead
+ -u, --user=name User for login if not current user.
+ -U, --safe-updates Only allow UPDATE and DELETE that uses keys.
+ -U, --i-am-a-dummy Synonym for option --safe-updates, -U.
+ -v, --verbose Write more. (-v -v -v gives the table output format).
+ -V, --version Output version information and exit.
+ -w, --wait Wait and retry if connection is down.
+ --connect_timeout=# Number of seconds before connection timeout.
+ --max_allowed_packet=#
+ Max packet length to send to, or receive from server
+ --net_buffer_length=#
+ Buffer for TCP/IP and socket communication
+ --select_limit=# Automatic limit for SELECT when using --safe-updates
+ --max_join_size=# Automatic limit for rows in a join when using
+ --safe-updates
+ --secure-auth Refuse client connecting to server if it uses old
+ (pre-4.1.1) protocol
+ --show-warnings Show warnings after every statement.
+
+Default options are read from the following files in the given order:
+/etc/my.cnf ~/.my.cnf /usr/local/mysql/etc/my.cnf
+The following groups are read: mysql client
+The following options may be given as the first argument:
+--print-defaults Print the program argument list and exit
+--no-defaults Don't read default options from any options file
+--defaults-file=# Only read default options from the given file #
+--defaults-extra-file=# Read this file after the global files are read
+
+Variables (--variable-name=value)
+and boolean options {FALSE|TRUE} Value (after reading options)
+--------------------------------- -----------------------------
+auto-rehash TRUE
+character-sets-dir (No default value)
+default-character-set latin1
+compress FALSE
+database (No default value)
+delimiter ;
+vertical FALSE
+force FALSE
+named-commands FALSE
+local-infile FALSE
+no-beep FALSE
+host (No default value)
+html FALSE
+xml FALSE
+line-numbers TRUE
+unbuffered FALSE
+column-names TRUE
+sigint-ignore FALSE
+port 0
+prompt mysql>
+quick FALSE
+raw FALSE
+reconnect TRUE
+socket (No default value)
+ssl FALSE
+ssl-ca (No default value)
+ssl-capath (No default value)
+ssl-cert (No default value)
+ssl-cipher (No default value)
+ssl-key (No default value)
+ssl-verify-server-cert FALSE
+table FALSE
+debug-info FALSE
+user (No default value)
+safe-updates FALSE
+i-am-a-dummy FALSE
+connect_timeout 0
+max_allowed_packet 16777216
+net_buffer_length 16384
+select_limit 1000
+max_join_size 1000000
+secure-auth FALSE
+show-warnings FALSE
Added: trunk/connector-mxj/resources/5-0-37/data_dir.jar
===================================================================
(Binary files differ)
Property changes on: trunk/connector-mxj/resources/5-0-37/data_dir.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connector-mxj/resources/5-0-37/share_dir.jar
===================================================================
(Binary files differ)
Property changes on: trunk/connector-mxj/resources/5-0-37/share_dir.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/connector-mxj/resources/5-0-37/win_share_dir.jar
===================================================================
(Binary files differ)
Property changes on: trunk/connector-mxj/resources/5-0-37/win_share_dir.jar
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/connector-mxj/resources/connector-mxj.properties
===================================================================
--- trunk/connector-mxj/resources/connector-mxj.properties 2007-03-13 14:27:11 UTC (rev 72)
+++ trunk/connector-mxj/resources/connector-mxj.properties 2007-03-13 21:01:44 UTC (rev 73)
@@ -1,7 +1,7 @@
# Connector/MXJ properties
# default version of mysqld to deploy
-mysql-version=5.0.27
+mysql-version=5.0.37
# mysql-version=5.1.15
# for Windows and Linux, Connector/MXJ can default to 32 bit x86 architecture
Modified: trunk/connector-mxj/src/com/mysql/management/MysqldResource.java
===================================================================
--- trunk/connector-mxj/src/com/mysql/management/MysqldResource.java 2007-03-13 14:27:11 UTC (rev 72)
+++ trunk/connector-mxj/src/com/mysql/management/MysqldResource.java 2007-03-13 21:01:44 UTC (rev 73)
@@ -200,21 +200,23 @@
reportPid();
utils.files().writeString(portFile, portStr);
- int triesBeforeGivingUp = (killDelay / 1000) * 4;
- boolean ready = canConnectToServer(port, triesBeforeGivingUp);
+ boolean ready = canConnectToServer(port, killDelay);
setReadyForConnection(ready);
}
// Will wait 250 miliseconds between each try.
- boolean canConnectToServer(int port, int triesBeforeGivingUp) {
+ boolean canConnectToServer(int port, int milisecondsBeforeGivingUp) {
+ int triesBeforeGivingUp = 1 + (milisecondsBeforeGivingUp / 1000) * 4;
utils.str().classForName(Driver.class.getName());
Connection conn = null;
- // timeoutMilis of 150 + pause of 100 == 250
- int timeoutMilis = 150;
String bogusUser = "Connector/MXJ";
String password = "Bogus Password";
- String url = "jdbc:mysql://localhost:" + port + "/test"
- + "?connectTimeout=" + timeoutMilis;
+ String url = "jdbc:mysql://localhost:"
+ + port
+ + "/test"
+ + "?connectTimeout=150"
+ + "&socketFactory=com.mysql.management.util.PatchedStandardSocketFactory";
+
for (int i = 0; i < triesBeforeGivingUp; i++) {
try {
conn = DriverManager.getConnection(url, bogusUser, password);
Added: trunk/connector-mxj/src/com/mysql/management/util/PatchedStandardSocketFactory.java
===================================================================
--- trunk/connector-mxj/src/com/mysql/management/util/PatchedStandardSocketFactory.java 2007-03-13 14:27:11 UTC (rev 72)
+++ trunk/connector-mxj/src/com/mysql/management/util/PatchedStandardSocketFactory.java 2007-03-13 21:01:44 UTC (rev 73)
@@ -0,0 +1,297 @@
+/*
+ Copyright (C) 2002-2007 MySQL AB
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of version 2 of the GNU General Public License as
+ published by the Free Software Foundation.
+
+ There are special exceptions to the terms and conditions of the GPL
+ as it is applied to this software. View the full text of the
+ exception in file EXCEPTIONS-CONNECTOR-J in the directory of this
+ software distribution.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+
+
+ */
+package com.mysql.management.util;
+// TODO: FIXME: remove this class when Connector/J 5.0.6 ships
+import java.io.IOException;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.net.InetAddress;
+import java.net.Socket;
+import java.net.SocketException;
+import java.util.Properties;
+
+import com.mysql.jdbc.SocketFactory;
+
+/**
+ * Socket factory for vanilla TCP/IP sockets (the standard)
+ *
+ * @author Mark Matthews
+ */
+public class PatchedStandardSocketFactory implements SocketFactory {
+ // ~ Instance fields
+ // --------------------------------------------------------
+
+ /** The hostname to connect to */
+ protected String host = null;
+
+ /** The port number to connect to */
+ protected int port = 3306;
+
+ /** The underlying TCP/IP socket to use */
+ protected Socket rawSocket = null;
+
+ // ~ Methods
+ // ----------------------------------------------------------------
+
+ /**
+ * Called by the driver after issuing the MySQL protocol handshake and
+ * reading the results of the handshake.
+ *
+ * @throws SocketException
+ * if a socket error occurs
+ * @throws IOException
+ * if an I/O error occurs
+ *
+ * @return The socket to use after the handshake
+ */
+ public Socket afterHandshake() throws SocketException, IOException {
+ return this.rawSocket;
+ }
+
+ /**
+ * Called by the driver before issuing the MySQL protocol handshake. Should
+ * return the socket instance that should be used during the handshake.
+ *
+ * @throws SocketException
+ * if a socket error occurs
+ * @throws IOException
+ * if an I/O error occurs
+ *
+ * @return the socket to use before the handshake
+ */
+ public Socket beforeHandshake() throws SocketException, IOException {
+ return this.rawSocket;
+ }
+
+ /**
+ * @see com.mysql.jdbc.SocketFactory#createSocket(Properties)
+ */
+ public Socket connect(String hostname, int portNumber, Properties props)
+ throws SocketException, IOException {
+
+ if (props != null) {
+ this.host = hostname;
+
+ this.port = portNumber;
+
+ Method connectWithTimeoutMethod = null;
+ Method socketBindMethod = null;
+ Class socketAddressClass = null;
+
+ String localSocketHostname = props
+ .getProperty("localSocketAddress");
+
+ String connectTimeoutStr = props.getProperty("connectTimeout");
+
+ int connectTimeout = 0;
+
+ boolean wantsTimeout = (connectTimeoutStr != null
+ && connectTimeoutStr.length() > 0 && !connectTimeoutStr
+ .equals("0"));
+
+ boolean wantsLocalBind = (localSocketHostname != null && localSocketHostname
+ .length() > 0);
+
+ if (wantsTimeout || wantsLocalBind) {
+
+ if (connectTimeoutStr != null) {
+ try {
+ connectTimeout = Integer.parseInt(connectTimeoutStr);
+ } catch (NumberFormatException nfe) {
+ throw new SocketException("Illegal value '"
+ + connectTimeoutStr + "' for connectTimeout");
+ }
+ }
+
+ try {
+ // Have to do this with reflection, otherwise older JVMs
+ // croak
+ socketAddressClass = Class
+ .forName("java.net.SocketAddress");
+
+ connectWithTimeoutMethod = Socket.class.getMethod(
+ "connect", new Class[] { socketAddressClass,
+ Integer.TYPE });
+
+ socketBindMethod = Socket.class.getMethod("bind",
+ new Class[] { socketAddressClass });
+
+ } catch (NoClassDefFoundError noClassDefFound) {
+ // ignore, we give a better error below if needed
+ } catch (NoSuchMethodException noSuchMethodEx) {
+ // ignore, we give a better error below if needed
+ } catch (Throwable catchAll) {
+ // ignore, we give a better error below if needed
+ }
+
+ if (wantsLocalBind && socketBindMethod == null) {
+ throw new SocketException(
+ "Can't specify \"localSocketAddress\" on JVMs older than 1.4");
+ }
+
+ if (wantsTimeout && connectWithTimeoutMethod == null) {
+ throw new SocketException(
+ "Can't specify \"connectTimeout\" on JVMs older than 1.4");
+ }
+ }
+
+ if (this.host != null) {
+ if (!(wantsLocalBind || wantsTimeout)) {
+ InetAddress[] possibleAddresses = InetAddress
+ .getAllByName(this.host);
+
+ Throwable caughtWhileConnecting = null;
+
+ // Need to loop through all possible addresses, in case
+ // someone has IPV6 configured (SuSE, for example...)
+
+ for (int i = 0; i < possibleAddresses.length; i++) {
+ try {
+ rawSocket = new Socket(possibleAddresses[i], port);
+
+ break;
+ } catch (Exception ex) {
+ caughtWhileConnecting = ex;
+ }
+ }
+
+ if (rawSocket == null) {
+ unwrapExceptionToProperClassAndThrowIt(caughtWhileConnecting);
+ }
+ } else {
+ // must explicitly state this due to classloader issues
+ // when running on older JVMs :(
+ try {
+
+ InetAddress[] possibleAddresses = InetAddress
+ .getAllByName(this.host);
+
+ Throwable caughtWhileConnecting = null;
+
+ Object localSockAddr = null;
+
+ Class inetSocketAddressClass = null;
+
+ Constructor addrConstructor = null;
+
+ try {
+ inetSocketAddressClass = Class
+ .forName("java.net.InetSocketAddress");
+
+ addrConstructor = inetSocketAddressClass
+ .getConstructor(new Class[] {
+ InetAddress.class, Integer.TYPE });
+
+ if (wantsLocalBind) {
+ localSockAddr = addrConstructor
+ .newInstance(new Object[] {
+ InetAddress
+ .getByName(localSocketHostname),
+ new Integer(0 /*
+ * use ephemeral
+ * port
+ */) });
+
+ }
+ } catch (Throwable ex) {
+ unwrapExceptionToProperClassAndThrowIt(ex);
+ }
+
+ // Need to loop through all possible addresses, in case
+ // someone has IPV6 configured (SuSE, for example...)
+
+ for (int i = 0; i < possibleAddresses.length; i++) {
+
+ try {
+ rawSocket = new Socket();
+
+ Object sockAddr = addrConstructor
+ .newInstance(new Object[] {
+ possibleAddresses[i],
+ new Integer(port) });
+ // bind to the local port, null is 'ok', it
+ // means
+ // use the ephemeral port
+ socketBindMethod.invoke(rawSocket,
+ new Object[] { localSockAddr });
+
+ connectWithTimeoutMethod.invoke(rawSocket,
+ new Object[] { sockAddr,
+ new Integer(connectTimeout) });
+
+ break;
+ } catch (Exception ex) {
+ rawSocket = null;
+
+ caughtWhileConnecting = ex;
+ }
+ }
+
+ if (rawSocket == null) {
+ unwrapExceptionToProperClassAndThrowIt(caughtWhileConnecting);
+ }
+
+ } catch (Throwable t) {
+ unwrapExceptionToProperClassAndThrowIt(t);
+ }
+ }
+
+ try {
+ this.rawSocket.setTcpNoDelay(true);
+ } catch (Exception ex) {
+ /* Ignore */
+ ;
+ }
+
+ return this.rawSocket;
+ }
+ }
+
+ throw new SocketException("Unable to create socket");
+ }
+
+ private void unwrapExceptionToProperClassAndThrowIt(
+ Throwable caughtWhileConnecting) throws SocketException,
+ IOException {
+ if (caughtWhileConnecting instanceof InvocationTargetException) {
+
+ // Replace it with the target, don't use 1.4 chaining as this still
+ // needs to run on older VMs
+ caughtWhileConnecting = ((InvocationTargetException) caughtWhileConnecting)
+ .getTargetException();
+ }
+
+ if (caughtWhileConnecting instanceof SocketException) {
+ throw (SocketException) caughtWhileConnecting;
+ }
+
+ if (caughtWhileConnecting instanceof IOException) {
+ throw (IOException) caughtWhileConnecting;
+ }
+
+ throw new SocketException(caughtWhileConnecting.toString());
+ }
+}
| Thread |
|---|
| • Connector/MXJ commit: r73 - in trunk/connector-mxj: . commercial commercial/5-0-36 commercial/5-0-36/Linux-i386 commercial/5-0-36/Mac_OS_X-i386 commer... | eherman | 13 Mar |