stomp:mainline.git
2 years agoGem version 1.3.4 dev master
gmallard [Tue, 2 Dec 2014 20:16:56 +0000 (15:16 -0500)]
Gem version 1.3.4

2 years agoMake spec tests work again.
gmallard [Tue, 2 Dec 2014 20:02:36 +0000 (15:02 -0500)]
Make spec tests work again.

2 years agoMore work on change for start_timeout.
gmallard [Tue, 2 Dec 2014 20:01:55 +0000 (15:01 -0500)]
More work on change for start_timeout.

2 years agoA very belated 1.3.3 related commit.
gmallard [Tue, 2 Dec 2014 18:32:05 +0000 (13:32 -0500)]
A very belated 1.3.3 related commit.

2 years agoChange warning verbiage re: start_timeout.
gmallard [Tue, 2 Dec 2014 18:26:48 +0000 (13:26 -0500)]
Change warning verbiage re: start_timeout.

2 years agoCorrect syntax error.
gmallard [Sat, 29 Nov 2014 19:31:46 +0000 (14:31 -0500)]
Correct syntax error.

2 years agoAllow user set of parm for SSLContext.new(parm).
gmallard [Sat, 29 Nov 2014 19:23:17 +0000 (14:23 -0500)]
Allow user set of parm for SSLContext.new(parm).

When using a hash connect, this commit effectively allows
the user to specifically request a particular SSL
method, e.g.:

:sslctx_newparm => :SSLv2, # ...

When using this feature it is the gem user's
responsibility to ensure that:

a) The Ruby version in use supports the requested
method, and
b) The broker used supports and allows the requested
method

2 years agoIssue #105, allow user set of SSLContext options.
gmallard [Sat, 29 Nov 2014 18:14:09 +0000 (13:14 -0500)]
Issue #105, allow user set of SSLContext options.

This commit allows full user control over the
contents of SSLContext options.  See:

examples/ssl_ctxoptions.rb

for two usage examples.

As usual, if this feature is not used, the gem behaves
as it has in the past.

3 years agoChange start_timeout default to zero.
gmallard [Sun, 10 Aug 2014 16:29:42 +0000 (12:29 -0400)]
Change start_timeout default to zero.

3 years agoGem version 1.3.3 v1.3.3
gmallard [Sun, 10 Aug 2014 16:23:59 +0000 (12:23 -0400)]
Gem version 1.3.3

3 years agoVersion bump.
gmallard [Sun, 10 Aug 2014 16:21:22 +0000 (12:21 -0400)]
Version bump.

3 years agoIssue #98, client fail-over fails.
gmallard [Thu, 5 Jun 2014 17:35:12 +0000 (13:35 -0400)]
Issue #98, client fail-over fails.

3 years agoDo not override user specified false.
gmallard [Wed, 28 May 2014 18:56:38 +0000 (14:56 -0400)]
Do not override user specified false.

3 years agoFix Issue #99, default port in Client hashed open.
gmallard [Sat, 24 May 2014 13:40:21 +0000 (09:40 -0400)]
Fix Issue #99, default port in Client hashed open.

3 years agoIssue #93, part 3 of 3. Detect invalid received headers.
gmallard [Thu, 27 Mar 2014 13:04:18 +0000 (09:04 -0400)]
Issue #93, part 3 of 3.  Detect invalid received headers.

3 years agoIssue #93, part 2 of 3!. empty header values.
gmallard [Thu, 27 Mar 2014 00:40:36 +0000 (20:40 -0400)]
Issue #93, part 2 of 3!.  empty header values.

3 years agoIssue #93, part 1 of 2: empty header keys.
gmallard [Wed, 26 Mar 2014 19:50:18 +0000 (15:50 -0400)]
Issue #93, part 1 of 2:  empty header keys.

3 years agoMerge remote-tracking branch 'stompgem/dev' into dev
gmallard [Wed, 19 Mar 2014 20:46:39 +0000 (16:46 -0400)]
Merge remote-tracking branch 'stompgem/dev' into dev

3 years agoMerge pull request #95 from richardc/MCO-196
Guy M. Allard [Wed, 19 Mar 2014 20:04:27 +0000 (16:04 -0400)]
Merge pull request #95 from richardc/MCO-196

Explictly close the ssl socket on connection timeout

3 years agoExplictly close the ssl socket on connection timeout
Richard Clamp [Fri, 14 Mar 2014 06:33:15 +0000 (23:33 -0700)]
Explictly close the ssl socket on connection timeout

Should a user configure the stomp gem to connect to a broker over
ssl, when the broker is not configured with ssl, then we leak a
TCPSocket due to the timeout logic.  Such a misconfiguration should
be rare but we do see it in the field -
http://tickets.puppetlabs.com/browse/MCO-196

What we see is the underlying TCPSocket is created for the connection
and then passed into an OpenSSL::SSL::SSLSocket, which then starts
the SSL handshake.  As ActiveMQ was not expecting an SSL handshake
it simply doesn't respond, and so we block in ssl.connect.  Once
the timeout is reached ssl.connect is interrupted, but this leaves
the ssl socket in an indeterminate state, and the TCPSocket is never
cleaned up.

This commit changes the behaviour to check if ssl has a value,
indicating that the TCPSocket did actually connect and then was
wrapped in an OpenSSL::SSL::SSLSocket, and then calls #close on the
OpenSSL::SSL::SSLSocket so we don't leak the TCPSocket.

3 years agoDo not write an empty message body.
gmallard [Sun, 2 Mar 2014 22:13:07 +0000 (17:13 -0500)]
Do not write an empty message body.

3 years agoGem version 1.3.2. v1.3.2
gmallard [Sun, 8 Dec 2013 14:09:06 +0000 (09:09 -0500)]
Gem version 1.3.2.

3 years agoMerge branch 'dev', release prep.
gmallard [Sun, 8 Dec 2013 13:45:21 +0000 (08:45 -0500)]
Merge branch 'dev', release prep.

b19da96 Merge pull request #91 from gmallard/dev
a6962c6 Fixes from RSpec testing
c9d3299 Merge branch 'logging' into dev
1ea0706 Clean up logger interfacing.
3daa88b Merge pull request #90 from gmallard/dev
70180dd Issue #78, again.
a84db0f Do not change caller's :hosts array, try 2.
35edeb1 Expanded list of STOMP default SSL ciphers:
b524af8 Fix ssl => true for Ruby 1.9.x and 2.x.
49f41b8 Copy hash params at init.
675d476 SSL Fix, revert not setting default ciphers.
cdb63f1 start_timeout and tcp_nodelay parameters:
485bb15 Complete revert to previous logger logic.
d106c13 Merge pull request #89 from gmallard/dev
bfa882a Fix TypeError on connect timeout with 1.8.x, 2.x.
17e5ab4 Anon tests assigned unique class name.

3 years agoMerge pull request #91 from gmallard/dev
Guy M. Allard [Sat, 7 Dec 2013 17:19:18 +0000 (09:19 -0800)]
Merge pull request #91 from gmallard/dev

RSpec test updates and logger rework.

3 years agoFixes from RSpec testing
gmallard [Wed, 4 Dec 2013 19:30:00 +0000 (14:30 -0500)]
Fixes from RSpec testing

3 years agoMerge branch 'logging' into dev
gmallard [Wed, 4 Dec 2013 19:02:07 +0000 (14:02 -0500)]
Merge branch 'logging' into dev

Logging calls cleanup, consolidation.

3 years agoClean up logger interfacing.
gmallard [Tue, 3 Dec 2013 20:24:54 +0000 (15:24 -0500)]
Clean up logger interfacing.

3 years agoMerge pull request #90 from gmallard/dev
Guy M. Allard [Tue, 3 Dec 2013 14:37:19 +0000 (06:37 -0800)]
Merge pull request #90 from gmallard/dev

Complete revert to previous logger logic.
start_timeout and tcp_nodelay parameters:
SSL Fix, revert not setting default ciphers.
Copy hash params at init.
Fix ssl => true for Ruby 1.9.x and 2.x.
Expanded list of STOMP default SSL ciphers:
Do not change caller's :hosts array, try 2.
Issue #78, again.

3 years agoIssue #78, again.
gmallard [Sun, 1 Dec 2013 20:37:55 +0000 (15:37 -0500)]
Issue #78, again.

3 years agoDo not change caller's :hosts array, try 2.
gmallard [Sun, 1 Dec 2013 19:13:39 +0000 (14:13 -0500)]
Do not change caller's :hosts array, try 2.

3 years agoExpanded list of STOMP default SSL ciphers:
gmallard [Sun, 1 Dec 2013 00:40:44 +0000 (19:40 -0500)]
Expanded list of STOMP default SSL ciphers:

This default cipher list is quite close to Ruby 1.9.x
and 2.x ciphers.  This list works with Ruby 1.8.x as well.
Useful for those who really need it.

Please enter the commit message for your changes. Lines starting

3 years agoFix ssl => true for Ruby 1.9.x and 2.x.
gmallard [Fri, 29 Nov 2013 16:01:01 +0000 (11:01 -0500)]
Fix ssl => true for Ruby 1.9.x and 2.x.

3 years agoCopy hash params at init.
gmallard [Fri, 29 Nov 2013 16:46:39 +0000 (11:46 -0500)]
Copy hash params at init.

3 years agoSSL Fix, revert not setting default ciphers.
gmallard [Thu, 28 Nov 2013 22:33:46 +0000 (17:33 -0500)]
SSL Fix, revert not setting default ciphers.

3 years agostart_timeout and tcp_nodelay parameters:
gmallard [Thu, 28 Nov 2013 16:50:54 +0000 (11:50 -0500)]
start_timeout and tcp_nodelay parameters:

Add more docs
Add initialization defaults
Add to spec tests

4 years agoComplete revert to previous logger logic.
gmallard [Sat, 23 Nov 2013 17:55:52 +0000 (12:55 -0500)]
Complete revert to previous logger logic.

4 years agoMerge pull request #89 from gmallard/dev
Guy M. Allard [Sat, 23 Nov 2013 14:24:38 +0000 (06:24 -0800)]
Merge pull request #89 from gmallard/dev

ANon tests and Connect TypeError

4 years agoUpdate README.rdoc
OrazioWE7 [Tue, 22 Oct 2013 09:11:54 +0000 (10:11 +0100)]
Update README.rdoc

4 years agoFix TypeError on connect timeout with 1.8.x, 2.x.
gmallard [Sat, 19 Oct 2013 13:21:10 +0000 (09:21 -0400)]
Fix TypeError on connect timeout with 1.8.x, 2.x.

Related to issue #87.

4 years agoAnon tests assigned unique class name.
gmallard [Sat, 19 Oct 2013 13:01:41 +0000 (09:01 -0400)]
Anon tests assigned unique class name.

All tests were not running when using:
rake test

4 years agoMerge pull request #86 from stompgem/dev
Ian Smith [Thu, 3 Oct 2013 18:46:18 +0000 (11:46 -0700)]
Merge pull request #86 from stompgem/dev

Merge 1.3.1 to master

4 years agoRelease 1.3.1 v1.3.1
Ian Smith [Wed, 2 Oct 2013 18:59:19 +0000 (11:59 -0700)]
Release 1.3.1

4 years agoWrap calls to @logger methods in a conditional that checks if the logger
Ian Smith [Wed, 2 Oct 2013 18:16:13 +0000 (11:16 -0700)]
Wrap calls to @logger methods in a conditional that checks if the logger
responds to that method.

Issue #83

4 years agoMerge pull request #82 from stompgem/dev
Ian Smith [Mon, 30 Sep 2013 17:54:04 +0000 (10:54 -0700)]
Merge pull request #82 from stompgem/dev

Release 1.3.0

4 years agoRelease 1.3.0 v1.3.0
Ian Smith [Mon, 30 Sep 2013 17:17:58 +0000 (10:17 -0700)]
Release 1.3.0

4 years agoMerge pull request #75 from OrazioWE7/anonymousConnections
Ian Smith [Mon, 30 Sep 2013 17:15:17 +0000 (10:15 -0700)]
Merge pull request #75 from OrazioWE7/anonymousConnections

Anonymous connections

4 years agoMerge pull request #81 from ismith/error_logging
Ian Smith [Fri, 27 Sep 2013 23:19:56 +0000 (16:19 -0700)]
Merge pull request #81 from ismith/error_logging

ERROR frame handling; on receipt of an ERROR frame, an exception will be raised in the thread that has the Stomp::Client object.

4 years agoERROR frame handling.
Ian Smith [Thu, 12 Sep 2013 21:27:43 +0000 (14:27 -0700)]
ERROR frame handling.

The handler will raise an exception in the thread that has the Stomp::Client
object on receipt of ERROR frames.

(ppaul/6540400, #3)

4 years agosetsocketopt wants a *boolean*, not a nil
Ian Smith [Fri, 27 Sep 2013 21:57:06 +0000 (14:57 -0700)]
setsocketopt wants a *boolean*, not a nil

4 years agoadopted solution discussed in forum
Orazio Cotroneo [Thu, 26 Sep 2013 14:08:32 +0000 (15:08 +0100)]
adopted solution discussed in forum

4 years agoIssue #78
Ian Smith [Thu, 26 Sep 2013 02:24:09 +0000 (19:24 -0700)]
Issue #78

4 years agoMerge branch 'null_logger' into dev
Ian Smith [Wed, 25 Sep 2013 19:55:45 +0000 (12:55 -0700)]
Merge branch 'null_logger' into dev

Conflicts:
lib/stomp/client.rb

4 years agoAdded Stomp::Errors::StartTimeoutException
Ian Smith [Wed, 25 Sep 2013 19:54:52 +0000 (12:54 -0700)]
Added Stomp::Errors::StartTimeoutException

4 years agoAdd marshalling methods to Slogger.
Ian Smith [Wed, 25 Sep 2013 19:44:08 +0000 (12:44 -0700)]
Add marshalling methods to Slogger.

4 years agoMerge pull request #76 from ismith/tcp_nodelay
Ian Smith [Wed, 25 Sep 2013 19:40:34 +0000 (12:40 -0700)]
Merge pull request #76 from ismith/tcp_nodelay

Turned on the TCP_NODELAY socket option (disables Nagle's algorithm)

4 years agoAdded a NullLogger, made it the default.
Ian Smith [Thu, 12 Sep 2013 21:21:44 +0000 (14:21 -0700)]
Added a NullLogger, made it the default.

This lets us remove several instances of `if @logger &&
@logger.respond_to?(:some_method)`

(https://gist.github.com/ppaul/6540400, #9)

4 years agoBugfixes for TCP_NODELAY commit.
Ian Smith [Mon, 23 Sep 2013 19:03:55 +0000 (12:03 -0700)]
Bugfixes for TCP_NODELAY commit.

4 years agoTurned on the TCP_NODELAY socket option (disables Nagle's algorithm)
Ian Smith [Thu, 12 Sep 2013 21:12:58 +0000 (14:12 -0700)]
Turned on the TCP_NODELAY socket option (disables Nagle's algorithm)

Tests show an 8-20 fold improvement in throughput. Messages under 1500 total
bytes benefit the most. Even with messages of 10K in size there's still a 30%
improvement in throughput; that's a lot. Tested with JRuby 1.7.3 and Ruby EE
1.9.3 on RHEL 6.1 against ActiveMQ 5.8.0 (also running on RHEL 6.1).

Default is true, but can TCP_NODELAY can be turned off by putting :tcp_nodelay
=> false in the parameters hash.

(ppaul/6540400, #8)

4 years agoFix for Client#set_logger; it was setting the @connection's logger, but not its own.
Ian Smith [Thu, 12 Sep 2013 21:01:34 +0000 (14:01 -0700)]
Fix for Client#set_logger; it was setting the @connection's logger, but not its own.

(ppaul/6540400, #11)

4 years agoRead receipts as UUIDs.
Ian Smith [Thu, 12 Sep 2013 21:41:17 +0000 (14:41 -0700)]
Read receipts as UUIDs.

This makes correlating a application's log with the broker's stomp log a lot
easier. Consider the scenario where a web application is instantiating a Client
object per web request, sends a couple of messages then closes it.  There'll be
thousands of entries in the broker's stomp log where all messages and receipts
have id values that rarely exceeded 2 or 3, say.

(ppaul/6540400, #5)

4 years agoAdded startup timeout, duration can be set via the :start_timeout parameter.
Ian Smith [Thu, 12 Sep 2013 21:16:49 +0000 (14:16 -0700)]
Added startup timeout, duration can be set via the :start_timeout parameter.

(ppaul/6540400, #4)

4 years agoWhitespace cleanup
Ian Smith [Thu, 12 Sep 2013 21:43:55 +0000 (14:43 -0700)]
Whitespace cleanup

4 years agoRelease 1.12.16. v1.2.16
Ian Smith [Thu, 12 Sep 2013 18:39:13 +0000 (11:39 -0700)]
Release 1.12.16.

4 years agoMerge pull request #74 from ismith/client_params
Ian Smith [Thu, 12 Sep 2013 18:31:31 +0000 (11:31 -0700)]
Merge pull request #74 from ismith/client_params

Stomp::Client's connection's host params should be exposed in the client.

4 years agoCleaned up some regex.
Ian Smith [Thu, 12 Sep 2013 18:03:55 +0000 (11:03 -0700)]
Cleaned up some regex.

4 years agoUse Forwardable to delegate Client's parameters to the @connection.
Ian Smith [Thu, 12 Sep 2013 17:38:12 +0000 (10:38 -0700)]
Use Forwardable to delegate Client's parameters to the @connection.

4 years agoStomp::Client's connection's host params should be exposed in the client.
Ian Smith [Wed, 11 Sep 2013 19:19:30 +0000 (12:19 -0700)]
Stomp::Client's connection's host params should be exposed in the client.

That way, a Stomp::Client always knows which host it is currently connected to.

4 years agoMaintain license info in Rakefile.
gmallard [Sun, 8 Sep 2013 13:52:34 +0000 (09:52 -0400)]
Maintain license info in Rakefile.

4 years agoVersion bump.
gmallard [Sun, 8 Sep 2013 13:44:47 +0000 (09:44 -0400)]
Version bump.

4 years agoAdd user specified timeout for initial CONNECTED/ERROR frame read.
gmallard [Sat, 7 Sep 2013 20:40:13 +0000 (16:40 -0400)]
Add user specified timeout for initial CONNECTED/ERROR frame read.

Connection parameter :connread_timeout is added.
The default value is 0, no timeout.
Ensure reconnect attempts play nice with :connread_timeout.
Ensure spec tests play nice with :connread_timeout.

4 years agoEliminate dup Timeout::timeout in ssl connect.
gmallard [Sat, 7 Sep 2013 13:06:44 +0000 (09:06 -0400)]
Eliminate dup Timeout::timeout in ssl connect.

4 years agoMerge pull request #71 from stompgem/license_in_gemspec
Ian Smith [Fri, 23 Aug 2013 03:41:33 +0000 (20:41 -0700)]
Merge pull request #71 from stompgem/license_in_gemspec

Add license information to gemspec.  This fixes #69.

4 years agoAdd license information to gemspec. This fixes #69.
Ian Smith [Fri, 23 Aug 2013 03:25:37 +0000 (20:25 -0700)]
Add license information to gemspec.  This fixes #69.

4 years agoGem version 1.2.14 v1.2.14
Ian Smith [Mon, 19 Aug 2013 07:15:52 +0000 (00:15 -0700)]
Gem version 1.2.14

4 years agoVersion bump.
Ian Smith [Mon, 19 Aug 2013 07:10:53 +0000 (00:10 -0700)]
Version bump.

4 years agoPrevent dup subscription header on re-receive.
gmallard [Sun, 18 Aug 2013 15:56:35 +0000 (11:56 -0400)]
Prevent dup subscription header on re-receive.

4 years agoMerge branch 'master' into dev
gmallard [Sun, 18 Aug 2013 16:10:12 +0000 (12:10 -0400)]
Merge branch 'master' into dev

4 years agoGem version 1.2.13 v1.2.13
Ian Smith [Sun, 18 Aug 2013 01:38:19 +0000 (18:38 -0700)]
Gem version 1.2.13

4 years agoUnit test for 6c2c1c1, restricted for now to:
gmallard [Sat, 17 Aug 2013 18:14:14 +0000 (14:14 -0400)]
Unit test for 6c2c1c1, restricted for now to:

- ActiveMQ, any protocol level
- Apollo, protocol level 1.0

Redeliveries currently fail for:
- Apollo, protocol levels 1.1 and 1.2
- RabbitMQ, any protocol level

Cause: TBD

4 years agoMerge pull request #68 from ismith/dev
Guy M. Allard [Fri, 16 Aug 2013 17:24:45 +0000 (10:24 -0700)]
Merge pull request #68 from ismith/dev

Stomp::Client#unreceive should not off-by-one max_redeliveries.

4 years agoStomp::Client#unreceive should not off-by-one max_redeliveries.
Ian Smith [Fri, 16 Aug 2013 04:28:21 +0000 (21:28 -0700)]
Stomp::Client#unreceive should not off-by-one max_redeliveries.

4 years agoUpdate comments in SSL examples.
gmallard [Mon, 12 Aug 2013 12:18:34 +0000 (08:18 -0400)]
Update comments in SSL examples.

4 years agoBelated update of contributor's list.
gmallard [Mon, 12 Aug 2013 12:13:51 +0000 (08:13 -0400)]
Belated update of contributor's list.

4 years agoGem version 1.2.12 v1.2.12
gmallard [Sun, 11 Aug 2013 19:17:27 +0000 (15:17 -0400)]
Gem version 1.2.12

4 years agoVersion bump
gmallard [Sun, 11 Aug 2013 19:05:27 +0000 (15:05 -0400)]
Version bump

4 years agoIssue #66, failover URL regex should allow a single broker
gmallard [Sun, 11 Aug 2013 19:00:17 +0000 (15:00 -0400)]
Issue #66, failover URL regex should allow a single broker

4 years agoIssue #65, non-word characters, login and passcode.
gmallard [Sat, 10 Aug 2013 17:15:27 +0000 (13:15 -0400)]
Issue #65, non-word characters, login and passcode.

4 years agoRemove extraneous private declarations.
gmallard [Sat, 10 Aug 2013 11:57:15 +0000 (07:57 -0400)]
Remove extraneous private declarations.

4 years agoSquelch warning during unit tests.
gmallard [Fri, 9 Aug 2013 17:39:39 +0000 (13:39 -0400)]
Squelch warning during unit tests.

4 years agoIssue #63, fast spurious fail overs.
gmallard [Fri, 9 Aug 2013 11:58:26 +0000 (07:58 -0400)]
Issue #63, fast spurious fail overs.

Added connection parameter to allow clients to supply
an adjustment value to the sender heartbeat sleep time.
See notes/heartbeat_readme.txt for guidance on use.

4 years agoProper cleanup when not reliable and EOF from broker
gmallard [Sun, 4 Aug 2013 16:11:02 +0000 (12:11 -0400)]
Proper cleanup when not reliable and EOF from broker

4 years agoMerge pull request #67 from chirino/master
Guy M. Allard [Fri, 9 Aug 2013 12:03:14 +0000 (05:03 -0700)]
Merge pull request #67 from chirino/master

Set the SSL hostname so that SSL SNI based proxies can route a connection

4 years agoThe SSL hostname so that SSL SNI based proxies can route a connection properly.
Hiram Chirino [Wed, 7 Aug 2013 17:56:11 +0000 (13:56 -0400)]
The SSL hostname so that SSL SNI based proxies can route a connection properly.

4 years agoIssue #63, nil client message, rapid AMQ restarts
gmallard [Sat, 3 Aug 2013 15:14:54 +0000 (11:14 -0400)]
Issue #63, nil client message, rapid AMQ restarts

At present this does not implement suggested
changes to the heartbeating logic.

4 years agoCorrect long hidden test problem with RabbitMQ.
gmallard [Mon, 29 Jul 2013 22:17:34 +0000 (18:17 -0400)]
Correct long hidden test problem with RabbitMQ.

4 years agoEnhance JRuby support in unit tests.
gmallard [Mon, 29 Jul 2013 19:35:34 +0000 (15:35 -0400)]
Enhance JRuby support in unit tests.

4 years agoFix infinite loop when max_reconnect_attempts is reached.
Ian Smith [Mon, 29 Jul 2013 20:58:54 +0000 (13:58 -0700)]
Fix infinite loop when max_reconnect_attempts is reached.

4 years agoGem version 1.2.11. See CHANGELOG for details. v1.2.11
gmallard [Sun, 28 Jul 2013 22:22:07 +0000 (18:22 -0400)]
Gem version 1.2.11.  See CHANGELOG for details.

4 years agoTest connection ack/abort reworkfor protocol 1.2.
gmallard [Sun, 28 Jul 2013 17:36:31 +0000 (13:36 -0400)]
Test connection ack/abort reworkfor protocol 1.2.

4 years agoJRuby environment changes:
gmallard [Sat, 27 Jul 2013 22:22:22 +0000 (18:22 -0400)]
JRuby environment changes:

Fix hang in client receives
Possibly fix client timeout issues
Attempt tp detect JRuby and behave properly
Add tests for detecting JRuby