torquespec 0.0.5 → 0.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/torquespec/server.rb +38 -29
- data/lib/torquespec/version.rb +1 -1
- metadata +4 -4
data/lib/torquespec/server.rb
CHANGED
@@ -4,15 +4,27 @@ module TorqueSpec
|
|
4
4
|
class Server
|
5
5
|
|
6
6
|
def start(opts={})
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
7
|
+
if ready?
|
8
|
+
if TorqueSpec.lazy
|
9
|
+
puts "Using running JBoss (try lazy=false if you get errors)"
|
10
|
+
return
|
11
|
+
else
|
12
|
+
stop
|
13
|
+
puts "Waiting for running JBoss to shutdown"
|
14
|
+
sleep(5)
|
15
|
+
sleep(1) while ready?
|
16
|
+
end
|
17
|
+
end
|
18
|
+
startup(opts)
|
19
|
+
end
|
20
|
+
|
21
|
+
def stop
|
22
|
+
if TorqueSpec.lazy
|
23
|
+
puts "JBoss won't be stopped (lazy=true)"
|
24
|
+
else
|
25
|
+
shutdown
|
26
|
+
puts "Shutdown message sent to JBoss"
|
27
|
+
end
|
16
28
|
end
|
17
29
|
|
18
30
|
def deploy(url)
|
@@ -27,25 +39,6 @@ module TorqueSpec
|
|
27
39
|
puts " undeployed #{url.split('/')[-1]}"
|
28
40
|
end
|
29
41
|
|
30
|
-
def stop
|
31
|
-
if TorqueSpec.lazy
|
32
|
-
puts "JBoss still running, pid=#{@process.pid}"
|
33
|
-
elsif @process
|
34
|
-
unless clean_stop
|
35
|
-
puts "Unable to shutdown JBoss cleanly, interrupting process"
|
36
|
-
Process.kill("INT", @process.pid)
|
37
|
-
end
|
38
|
-
@process = nil
|
39
|
-
puts "JBoss stopped"
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
def clean_stop
|
44
|
-
success?( jmx_console( :action => 'invokeOpByName',
|
45
|
-
:name => 'jboss.system:type=Server',
|
46
|
-
:methodName => 'shutdown' ) )
|
47
|
-
end
|
48
|
-
|
49
42
|
def ready?
|
50
43
|
response = jmx_console( :action => 'inspectMBean', :name => 'jboss.system:type=Server' )
|
51
44
|
"True" == response.match(/>Started<.*?<pre>\s+^(\w+)/m)[1]
|
@@ -56,7 +49,7 @@ module TorqueSpec
|
|
56
49
|
def wait_for_ready(timeout)
|
57
50
|
puts "Waiting up to #{timeout}s for JBoss to boot"
|
58
51
|
t0 = Time.now
|
59
|
-
while (Time.now - t0 < timeout
|
52
|
+
while (Time.now - t0 < timeout) do
|
60
53
|
if ready?
|
61
54
|
puts "JBoss started in #{(Time.now - t0).to_i}s"
|
62
55
|
return true
|
@@ -68,6 +61,22 @@ module TorqueSpec
|
|
68
61
|
|
69
62
|
protected
|
70
63
|
|
64
|
+
def startup(opts)
|
65
|
+
wait = opts[:wait].to_i
|
66
|
+
cmd = command
|
67
|
+
process = IO.popen( cmd )
|
68
|
+
Thread.new(process) { |console| while(console.gets); end }
|
69
|
+
%w{ INT TERM KILL }.each { |signal| trap(signal) { stop } }
|
70
|
+
puts "#{cmd}\npid=#{process.pid}"
|
71
|
+
wait > 0 ? wait_for_ready(wait) : process.pid
|
72
|
+
end
|
73
|
+
|
74
|
+
def shutdown
|
75
|
+
success?( jmx_console( :action => 'invokeOpByName',
|
76
|
+
:name => 'jboss.system:type=Server',
|
77
|
+
:methodName => 'shutdown' ) )
|
78
|
+
end
|
79
|
+
|
71
80
|
def command
|
72
81
|
java_home = java.lang::System.getProperty( 'java.home' )
|
73
82
|
"#{java_home}/bin/java -cp #{TorqueSpec.jboss_home}/bin/run.jar #{TorqueSpec.jvm_args} -Djava.endorsed.dirs=#{TorqueSpec.jboss_home}/lib/endorsed org.jboss.Main -c #{TorqueSpec.jboss_conf} -b #{TorqueSpec.host}"
|
data/lib/torquespec/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: torquespec
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 6
|
10
|
+
version: 0.0.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Jim Crossley
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2011-05-
|
19
|
+
date: 2011-05-09 00:00:00 -04:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|