trinidad_lifecycle_extension 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README +2 -2
- data/Rakefile +1 -1
- data/lib/trinidad_lifecycle_extension.rb +15 -1
- data/trinidad_lifecycle_extension.gemspec +2 -2
- metadata +6 -12
data/README
CHANGED
@@ -28,8 +28,8 @@ How to write a lifecycle listener
|
|
28
28
|
=================================
|
29
29
|
|
30
30
|
If the listener is for the server the class must be into the module
|
31
|
-
Trinidad::
|
32
|
-
the module Trinidad::
|
31
|
+
Trinidad::Lifecycle::Server but if it's for the web application it must be into
|
32
|
+
the module Trinidad::Lifecycle::WebApp. The class must include the java class
|
33
33
|
LifecycleListener and must contain the method `lifecycleEvent(event)`. For
|
34
34
|
example:
|
35
35
|
|
data/Rakefile
CHANGED
@@ -6,7 +6,7 @@ require 'java'
|
|
6
6
|
module Trinidad
|
7
7
|
module Extensions
|
8
8
|
module Lifecycle
|
9
|
-
VERSION = '0.2.
|
9
|
+
VERSION = '0.2.2'
|
10
10
|
|
11
11
|
def init_listeners(context, path, mod_name)
|
12
12
|
path ||= File.join('lib', 'lifecycle')
|
@@ -28,6 +28,11 @@ module Trinidad
|
|
28
28
|
names = mod.split('::')
|
29
29
|
names.inject(Object) {|constant, obj| constant.const_get(obj) } rescue nil
|
30
30
|
end
|
31
|
+
|
32
|
+
def trap_signals(tomcat)
|
33
|
+
trap('INT') { tomcat.stop }
|
34
|
+
trap('TERM') { tomcat.stop }
|
35
|
+
end
|
31
36
|
end
|
32
37
|
|
33
38
|
|
@@ -35,6 +40,7 @@ module Trinidad
|
|
35
40
|
include Lifecycle
|
36
41
|
|
37
42
|
def configure(tomcat)
|
43
|
+
trap_signals(tomcat)
|
38
44
|
init_listeners(tomcat.server, @options[:path], 'Trinidad::Lifecycle::Server')
|
39
45
|
end
|
40
46
|
end
|
@@ -43,8 +49,16 @@ module Trinidad
|
|
43
49
|
include Lifecycle
|
44
50
|
|
45
51
|
def configure(tomcat, app_context)
|
52
|
+
trap_signals(tomcat)
|
46
53
|
init_listeners(app_context, @options[:path], 'Trinidad::Lifecycle::WebApp')
|
47
54
|
end
|
48
55
|
end
|
56
|
+
|
57
|
+
class LifecycleOptionsExtension < OptionsExtension
|
58
|
+
def configure(parser, default_options)
|
59
|
+
default_options[:extensions] ||= {}
|
60
|
+
default_options[:extensions][:lifecycle] = {}
|
61
|
+
end
|
62
|
+
end
|
49
63
|
end
|
50
64
|
end
|
@@ -13,8 +13,8 @@ Gem::Specification.new do |s|
|
|
13
13
|
## If your rubyforge_project name is different, then edit it and comment out
|
14
14
|
## the sub! line in the Rakefile
|
15
15
|
s.name = 'trinidad_lifecycle_extension'
|
16
|
-
s.version = '0.2.
|
17
|
-
s.date = '2011-
|
16
|
+
s.version = '0.2.2'
|
17
|
+
s.date = '2011-03-30'
|
18
18
|
s.rubyforge_project = 'trinidad_lifecycle_extension'
|
19
19
|
|
20
20
|
## Make sure your summary is short. The description may be as long
|
metadata
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trinidad_lifecycle_extension
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 2
|
8
|
-
- 1
|
9
|
-
version: 0.2.1
|
4
|
+
prerelease:
|
5
|
+
version: 0.2.2
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
8
|
- David Calavera
|
@@ -14,7 +10,7 @@ autorequire:
|
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
12
|
|
17
|
-
date: 2011-
|
13
|
+
date: 2011-03-30 00:00:00 -07:00
|
18
14
|
default_executable:
|
19
15
|
dependencies: []
|
20
16
|
|
@@ -49,23 +45,21 @@ rdoc_options:
|
|
49
45
|
require_paths:
|
50
46
|
- lib
|
51
47
|
required_ruby_version: !ruby/object:Gem::Requirement
|
48
|
+
none: false
|
52
49
|
requirements:
|
53
50
|
- - ">="
|
54
51
|
- !ruby/object:Gem::Version
|
55
|
-
segments:
|
56
|
-
- 0
|
57
52
|
version: "0"
|
58
53
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
54
|
+
none: false
|
59
55
|
requirements:
|
60
56
|
- - ">="
|
61
57
|
- !ruby/object:Gem::Version
|
62
|
-
segments:
|
63
|
-
- 0
|
64
58
|
version: "0"
|
65
59
|
requirements: []
|
66
60
|
|
67
61
|
rubyforge_project: trinidad_lifecycle_extension
|
68
|
-
rubygems_version: 1.
|
62
|
+
rubygems_version: 1.5.1
|
69
63
|
signing_key:
|
70
64
|
specification_version: 2
|
71
65
|
summary: Add lifecycle listeners to the trinidad's server or applications
|