trinidad_dbpool 0.4.3 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +11 -1
- data/LICENSE +2 -2
- data/README.md +9 -10
- data/Rakefile +11 -11
- data/lib/trinidad_dbpool/webapp_extension.rb +14 -7
- data/trinidad-libs/tomcat-dbcp.jar +0 -0
- metadata +91 -83
data/History.txt
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
== 0.5.0 (2013-06-28)
|
2
|
+
|
3
|
+
* updated tomcat-dbcp.jar to 7.0.41 ... due recent fixes in 7.0.39 / 7.0.40 :
|
4
|
+
- major statement leak https://issues.apache.org/bugzilla/show_bug.cgi?id=54732
|
5
|
+
* no longer bundling driver jars instead depending on jdbc-xxx gems :
|
6
|
+
- trinidad_mysql_dbpool_extension -> jdbc-mysql
|
7
|
+
- trinidad_postgresql_dbpool_extension - jdbc-postgres
|
8
|
+
- trinidad_sqlite_dbpool_extension - jdbc-sqlite3
|
9
|
+
- trinidad_mssql_dbpool_extension - jdbc-jtds
|
10
|
+
|
1
11
|
== 0.4.2 (2012-12-22)
|
2
12
|
|
3
13
|
* updated tomcat-dbcp.jar to 7.0.32
|
@@ -31,7 +41,7 @@
|
|
31
41
|
|
32
42
|
== 0.2.0 (2010-07-29)
|
33
43
|
|
34
|
-
* Update trinidad_dbpool_extension common gem to support Tomcat 7
|
44
|
+
* Update trinidad_dbpool_extension common gem to support Tomcat 7
|
35
45
|
|
36
46
|
== 0.1.1 (2010-05-05)
|
37
47
|
|
data/LICENSE
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Copyright (c)
|
1
|
+
Copyright (c) 2013 Team Trinidad and contributors http://github.com/trinidad
|
2
2
|
|
3
3
|
Permission is hereby granted, free of charge, to any person obtaining
|
4
4
|
a copy of this software and associated documentation files (the
|
@@ -21,5 +21,5 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
21
21
|
|
22
22
|
== JDBC Driver
|
23
23
|
|
24
|
-
Included JDBC drivers are most likely distributed under different terms than
|
24
|
+
Included JDBC drivers are most likely distributed under different terms than
|
25
25
|
those above, please make sure you understand your driver's license terms.
|
data/README.md
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# Trinidad Database Pool
|
2
2
|
|
3
|
-
A bunch of Trinidad extensions to support database connection pooling on top of
|
3
|
+
A bunch of Trinidad extensions to support database connection pooling on top of
|
4
4
|
the underlying Apache Tomcat container (using Tomcat's JDBC Connection Pool).
|
5
5
|
|
6
|
-
Please note, that such pools are usually configured as "global" and thus
|
6
|
+
Please note, that such pools are usually configured as "global" and thus
|
7
7
|
shareable by multiple applications deployed on to of the Trinidad server.
|
8
8
|
|
9
9
|
Also most Java issues caused by JDBC drivers packaged with the application (e.g.
|
@@ -18,7 +18,6 @@ http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html
|
|
18
18
|
* PostgreSQL (trinidad_postgresql_dbpool_extension)
|
19
19
|
* SQLite (trinidad_sqlite_dbpool_extension)
|
20
20
|
* MS-SQL (trinidad_mssql_dbpool_extension) using (unofficial) jTDS driver
|
21
|
-
* Oracle (trinidad_oracle_dbpool_extension)
|
22
21
|
* Generic (trinidad_generic_dbpool_extension) in case your DB ain't supported
|
23
22
|
|
24
23
|
## Usage
|
@@ -41,7 +40,7 @@ http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html
|
|
41
40
|
```
|
42
41
|
|
43
42
|
**jndi**, **url** are mandatory (as well **username** and **password** if your
|
44
|
-
database server + driver requires authentication), while other supported
|
43
|
+
database server + driver requires authentication), while other supported
|
45
44
|
configuration options might be found here in Tomcat's "datasource" how-to:
|
46
45
|
|
47
46
|
http://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html
|
@@ -72,11 +71,11 @@ do not forget to delete **pool** setup part since there's no need for it ...
|
|
72
71
|
|
73
72
|
## Generic Pool
|
74
73
|
|
75
|
-
If there's no "official" pool for your database, or would like to use a
|
74
|
+
If there's no "official" pool for your database, or would like to use a
|
76
75
|
different version of a JDBC driver for a supported Trinidad pool, this allows
|
77
76
|
you to completely customize a pool.
|
78
77
|
|
79
|
-
NOTE: You will need a JDBC driver for your database, check the driver DB if
|
78
|
+
NOTE: You will need a JDBC driver for your database, check the driver DB if
|
80
79
|
unsure about how to get one http://developers.sun.com/product/jdbc/drivers
|
81
80
|
|
82
81
|
Sample configuration for a DB2 database :
|
@@ -96,13 +95,13 @@ Sample configuration for a DB2 database :
|
|
96
95
|
Beyond standard configuration options there's 2 specific options here :
|
97
96
|
|
98
97
|
* **driverPath** should be a path to your JDBC driver archive, might leave that
|
99
|
-
out but make sure it's on the (shared) class-path for each and every deployed
|
100
|
-
application that requires it. You might specify multiple jars using the
|
98
|
+
out but make sure it's on the (shared) class-path for each and every deployed
|
99
|
+
application that requires it. You might specify multiple jars using the
|
101
100
|
`Dir.glob` syntax or by separating paths using the `:` separator.
|
102
101
|
|
103
102
|
Also in case *driverPath* is omitted you'll need to specify a *driverName* !
|
104
103
|
|
105
|
-
* **driverName** the class name implementing the JDBC driver interface, if
|
104
|
+
* **driverName** the class name implementing the JDBC driver interface, if
|
106
105
|
you're not sure check the .jar for a META-INF/services/java.sql.Driver file.
|
107
106
|
If present that file contains the class-name and you might leave *driverName*
|
108
107
|
blank if you specified the jar path using *driverPath* but you're going still
|
@@ -110,5 +109,5 @@ Beyond standard configuration options there's 2 specific options here :
|
|
110
109
|
|
111
110
|
## Copyright
|
112
111
|
|
113
|
-
Copyright (c)
|
112
|
+
Copyright (c) 2013 [Team Trinidad](https://github.com/trinidad).
|
114
113
|
See LICENSE (http://en.wikipedia.org/wiki/MIT_License) for details.
|
data/Rakefile
CHANGED
@@ -19,7 +19,7 @@ task :clear do
|
|
19
19
|
end
|
20
20
|
task :clean => :clear
|
21
21
|
|
22
|
-
all_gems = %W{
|
22
|
+
all_gems = %W{
|
23
23
|
dbpool
|
24
24
|
generic_dbpool_extension
|
25
25
|
mysql_dbpool_extension
|
@@ -30,14 +30,14 @@ all_gems = %W{
|
|
30
30
|
}.map { |gem| "trinidad_#{gem}" }
|
31
31
|
|
32
32
|
all_gems.each do |gem_name|
|
33
|
-
|
33
|
+
|
34
34
|
gem_helper = Bundler::GemHelper.new(Dir.pwd, gem_name)
|
35
35
|
def gem_helper.version_tag
|
36
36
|
"#{name}-#{version}" # override "v#{version}"
|
37
37
|
end
|
38
38
|
version = gem_helper.send(:version)
|
39
39
|
version_tag = gem_helper.version_tag
|
40
|
-
|
40
|
+
|
41
41
|
namespace gem_name do
|
42
42
|
desc "Build #{gem_name}-#{version}.gem into the pkg directory"
|
43
43
|
task('build') { gem_helper.build_gem }
|
@@ -48,7 +48,7 @@ all_gems.each do |gem_name|
|
|
48
48
|
desc "Create tag #{version_tag} and build and push #{gem_name}-#{version}.gem to Rubygems"
|
49
49
|
task('release') { gem_helper.release_gem }
|
50
50
|
end
|
51
|
-
|
51
|
+
|
52
52
|
end
|
53
53
|
|
54
54
|
namespace :all do
|
@@ -60,18 +60,18 @@ namespace :all do
|
|
60
60
|
end
|
61
61
|
|
62
62
|
namespace :'tomcat-dbcp' do
|
63
|
-
|
63
|
+
|
64
64
|
TOMCAT_MAVEN_REPO = 'http://repo2.maven.org/maven2/org/apache/tomcat'
|
65
65
|
|
66
66
|
TRINIDAD_LIBS = File.expand_path('./trinidad-libs', File.dirname(__FILE__))
|
67
67
|
|
68
68
|
dbcp_jar = "tomcat-dbcp.jar"
|
69
|
-
|
70
|
-
task :download, :version do |_, args|
|
71
|
-
version =
|
72
|
-
|
69
|
+
|
70
|
+
task :download, :version do |_, args| # rake tomcat-dbcp:download[7.0.41]
|
71
|
+
version = args[:version]
|
72
|
+
|
73
73
|
dbcp_uri = "#{TOMCAT_MAVEN_REPO}/tomcat-dbcp/#{version}/tomcat-dbcp-#{version}.jar"
|
74
|
-
|
74
|
+
|
75
75
|
require 'open-uri'; require 'tmpdir'
|
76
76
|
|
77
77
|
temp_dir = File.join(Dir.tmpdir, (Time.now.to_f * 1000).to_i.to_s)
|
@@ -91,7 +91,7 @@ namespace :'tomcat-dbcp' do
|
|
91
91
|
|
92
92
|
FileUtils.rm_r temp_dir
|
93
93
|
end
|
94
|
-
|
94
|
+
|
95
95
|
task :check do
|
96
96
|
jar_path = File.join(TRINIDAD_LIBS, dbcp_jar)
|
97
97
|
unless File.exist?(jar_path)
|
@@ -1,6 +1,7 @@
|
|
1
1
|
module Trinidad
|
2
2
|
module Extensions
|
3
3
|
class DbpoolWebAppExtension < WebAppExtension
|
4
|
+
|
4
5
|
def configure(tomcat, app_context)
|
5
6
|
case @options
|
6
7
|
when Hash
|
@@ -9,18 +10,21 @@ module Trinidad
|
|
9
10
|
@options.map { |opts| create_resource tomcat, app_context, opts }
|
10
11
|
end
|
11
12
|
end
|
12
|
-
|
13
|
+
|
13
14
|
protected
|
15
|
+
|
14
16
|
def create_resource tomcat, app_context, options
|
15
17
|
jndi, url = options.delete(:jndi), options.delete(:url)
|
16
18
|
url = protocol + url unless %r{^#{protocol}} =~ url
|
17
19
|
options[:url] = url
|
18
|
-
|
19
|
-
|
20
|
+
|
21
|
+
load_driver
|
22
|
+
|
23
|
+
driver_name = options.delete(:driver) || options.delete(:driverName) ||
|
20
24
|
self.driver_name
|
21
|
-
|
22
|
-
# <Resource name="jdbc/MyDB"
|
23
|
-
# auth="Container"
|
25
|
+
|
26
|
+
# <Resource name="jdbc/MyDB"
|
27
|
+
# auth="Container"
|
24
28
|
# type="javax.sql.DataSource"
|
25
29
|
# url="jdbc:mysql://localhost:3306/mydb"
|
26
30
|
# driverClassName="com.mysql.jdbc.Driver"
|
@@ -40,6 +44,9 @@ module Trinidad
|
|
40
44
|
|
41
45
|
resource
|
42
46
|
end
|
47
|
+
|
48
|
+
def load_driver; end
|
49
|
+
|
43
50
|
end
|
44
51
|
end
|
45
|
-
end
|
52
|
+
end
|
Binary file
|
metadata
CHANGED
@@ -1,101 +1,109 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: trinidad_dbpool
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.5.0
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
8
|
-
|
9
|
-
autorequire:
|
7
|
+
authors:
|
8
|
+
- David Calavera
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
12
|
+
date: 2013-06-28 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: trinidad_jars
|
16
|
+
version_requirements: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - '>='
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 1.2.4
|
21
|
+
none: false
|
22
|
+
requirement: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.2.4
|
27
|
+
none: false
|
28
|
+
prerelease: false
|
29
|
+
type: :runtime
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: rspec
|
32
|
+
version_requirements: !ruby/object:Gem::Requirement
|
33
|
+
requirements:
|
34
|
+
- - '>='
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '2.10'
|
37
|
+
none: false
|
38
|
+
requirement: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - '>='
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '2.10'
|
43
|
+
none: false
|
44
|
+
prerelease: false
|
45
|
+
type: :development
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: mocha
|
48
|
+
version_requirements: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - '>='
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '0.10'
|
53
|
+
none: false
|
54
|
+
requirement: !ruby/object:Gem::Requirement
|
55
|
+
requirements:
|
56
|
+
- - '>='
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
version: '0.10'
|
59
|
+
none: false
|
60
|
+
prerelease: false
|
61
|
+
type: :development
|
48
62
|
description: Addon to support database pools in Trinidad
|
49
63
|
email: calavera@apache.org
|
50
64
|
executables: []
|
51
|
-
|
52
65
|
extensions: []
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
- Rakefile
|
66
|
+
extra_rdoc_files:
|
67
|
+
- README.md
|
68
|
+
- History.txt
|
69
|
+
- LICENSE
|
70
|
+
- Rakefile
|
71
|
+
files:
|
72
|
+
- lib/trinidad_dbpool.rb
|
73
|
+
- lib/trinidad_dbpool/webapp_extension.rb
|
74
|
+
- trinidad-libs/tomcat-dbcp.jar
|
75
|
+
- README.md
|
76
|
+
- History.txt
|
77
|
+
- LICENSE
|
78
|
+
- Rakefile
|
67
79
|
homepage: http://github.com/trinidad/trinidad_dbpool_extension
|
68
80
|
licenses: []
|
69
|
-
|
70
|
-
post_install_message:
|
81
|
+
post_install_message:
|
71
82
|
rdoc_options: []
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
83
|
+
require_paths:
|
84
|
+
- lib
|
85
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
segments:
|
90
|
+
- 0
|
91
|
+
version: '0'
|
92
|
+
hash: 2
|
76
93
|
none: false
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
94
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
segments:
|
99
|
+
- 0
|
100
|
+
version: '0'
|
101
|
+
hash: 2
|
85
102
|
none: false
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
hash: 2
|
90
|
-
segments:
|
91
|
-
- 0
|
92
|
-
version: "0"
|
93
103
|
requirements: []
|
94
|
-
|
95
|
-
rubyforge_project:
|
104
|
+
rubyforge_project:
|
96
105
|
rubygems_version: 1.8.24
|
97
|
-
signing_key:
|
106
|
+
signing_key:
|
98
107
|
specification_version: 3
|
99
108
|
summary: Addon to support database pools in Trinidad
|
100
109
|
test_files: []
|
101
|
-
|