Wiki source code of Geronimo Installation
Last modified by Vincent Massol on 2017/09/06
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
1.10 | 1 | {{box cssClass="floatinginfobox" title="**Contents**"}}{{toc/}}{{/box}} |
![]() |
1.12 | 2 | |
![]() |
1.1 | 3 | =Apache Geronimo Installation= |
4 | |||
![]() |
1.12 | 5 | {{info}} |
6 | * This was written for version **//2.2//**. There is no reason why it wouldn't work on other platforms. | ||
7 | * The default username for Geronimo is **//system//** and the default password is **//manager//**. | ||
8 | {{/info}} | ||
![]() |
1.1 | 9 | |
![]() |
1.12 | 10 | Out of the box you will have issues with Geronimo, but these are not hard to fix. This was the error I got that lead me down the path to writing this deployment guide for Geronimo: |
![]() |
1.8 | 11 | |
![]() |
1.4 | 12 | {{error}} |
![]() |
1.5 | 13 | Error 500 org.apache.commons.lang.StringUtils.replaceEach(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String; |
![]() |
1.4 | 14 | {{/error}} |
15 | |||
![]() |
1.12 | 16 | == Quick Steps == |
![]() |
1.4 | 17 | |
![]() |
1.2 | 18 | For the impatient, the steps to get it working are: |
![]() |
1.12 | 19 | * Add Apache commons language to the repository |
20 | * Create a ##geronimo-web.xml## file and add it to your war file | ||
21 | * Make your changes as per a normal installation (i.e., to the ##xwiki.cfg##, ##hibernate.cfg.xml##, etc.) | ||
![]() |
1.2 | 22 | The optional steps I did were: |
![]() |
1.12 | 23 | * Add a higher version of commons-beanutils to repository |
24 | * Add a higher version of commons-fileupload to repository | ||
25 | * Add a higher version of commons-io to repository | ||
![]() |
1.1 | 26 | |
![]() |
1.7 | 27 | === Minimum XML Changes === |
28 | |||
![]() |
1.12 | 29 | Modify your ##geronimo-web.xml## and add the following library to match how you installed the library into the repository: |
![]() |
1.7 | 30 | |
31 | {{code language="xml"}} | ||
32 | <dependency> | ||
33 | <groupId>apache-commons</groupId> | ||
34 | <artifactId>commons-lang</artifactId> | ||
35 | <version>2.5</version> | ||
36 | <type>jar</type> | ||
37 | </dependency> | ||
38 | {{/code}} | ||
39 | |||
40 | = All Changes = | ||
41 | |||
![]() |
1.2 | 42 | == geronimo-web.xml == |
43 | |||
![]() |
1.12 | 44 | Here is a sample deployment resource xml file: |
45 | |||
![]() |
1.2 | 46 | {{code language="xml"}} |
![]() |
1.9 | 47 | |
![]() |
1.3 | 48 | <?xml version="1.0" encoding="UTF-8"?> |
49 | <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1"> | ||
50 | <dep:environment xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2"> | ||
51 | <!-- | ||
52 | ** GroupID : The grouping you put xwiki in, like your parent container I guess. | ||
53 | ** ArtifactID : Same as the war name, full name + version. | ||
54 | ** Version : A version of the software. | ||
55 | ** Type : Type of deployment. In this case a WAR archive. | ||
56 | --> | ||
57 | <dep:moduleId> | ||
58 | <dep:groupId>default</dep:groupId> | ||
59 | <dep:artifactId>xwiki-enterprise-web-2.3.1</dep:artifactId> | ||
60 | <dep:version>1275530872796</dep:version> | ||
61 | <dep:type>war</dep:type> | ||
62 | </dep:moduleId> | ||
63 | <!-- | ||
64 | ** Configure the JDBC connection pool, in this case the pool is based on H2 database. | ||
65 | ** It is here you would configure your oracle, postgres, mysql, sqlserver, etc pool drivers. | ||
66 | --> | ||
67 | <dep:dependencies> | ||
68 | <dep:dependency> | ||
69 | <dep:groupId>jdbc</dep:groupId> | ||
70 | <dep:artifactId>h2</dep:artifactId> | ||
71 | <dep:version>1.2.136</dep:version> | ||
72 | <dep:type>jar</dep:type> | ||
73 | </dep:dependency> | ||
74 | <!-- The location of the pool --> | ||
75 | <dependency> | ||
76 | <groupId>console.dbpool</groupId> | ||
77 | <artifactId>XWikiDS</artifactId> | ||
78 | </dependency> | ||
79 | </dep:dependencies> | ||
80 | <!-- Libraries | ||
81 | ** This is where I specified the libraries that were out of date in geronimo | ||
82 | ** that lead to it not working. There might be better ways, but this was how | ||
83 | ** I did it to get it working quickly. | ||
84 | --> | ||
85 | <!-- Required --> | ||
86 | <dependency> | ||
87 | <groupId>apache-commons</groupId> | ||
88 | <artifactId>commons-lang</artifactId> | ||
89 | <version>2.5</version> | ||
90 | <type>jar</type> | ||
91 | </dependency> | ||
92 | <!-- Optional --> | ||
93 | <dependency> | ||
94 | <groupId>apache-commons</groupId> | ||
95 | <artifactId>commons-beanutils</artifactId> | ||
96 | <version>1.8.3</version> | ||
97 | <type>jar</type> | ||
98 | </dependency> | ||
99 | <!-- Optional --> | ||
100 | <dependency> | ||
101 | <groupId>apache-commons</groupId> | ||
102 | <artifactId>commons-fileupload</artifactId> | ||
103 | <version>1.2.1</version> | ||
104 | <type>jar</type> | ||
105 | </dependency> | ||
106 | <!-- Optional --> | ||
107 | <dependency> | ||
108 | <groupId>apache-commons</groupId> | ||
109 | <artifactId>commons-io</artifactId> | ||
110 | <version>1.4</version> | ||
111 | <type>jar</type> | ||
112 | </dependency> | ||
113 | |||
114 | </dep:environment> | ||
115 | <!-- Whatever the webroot you want, ie http://127.0.0.1/xwiki --> | ||
116 | <context-root>xwiki</context-root> | ||
117 | <!-- | ||
118 | ** Map the reference to the JDBC pool located at resource-link to the jndi location ref-name | ||
119 | --> | ||
120 | <resource-ref> | ||
121 | <ref-name>jdbc/XWikiDS</ref-name> | ||
122 | <resource-link>XWikiDS</resource-link> | ||
123 | </resource-ref> | ||
124 | |||
125 | </web-app> | ||
![]() |
1.9 | 126 | |
![]() |
1.4 | 127 | {{/code}} |
128 | |||
129 | == Warnings In The Log File == | ||
130 | |||
![]() |
1.12 | 131 | {{warning}} |
132 | * 37866: 2010-06-03 15:12:03,484 WARN [RequestUtils] No FormBeanConfig found under 'download' | ||
133 | * 39221: 2010-06-03 15:12:18,062 WARN [RequestUtils] No FormBeanConfig found under 'get' | ||
134 | * 39804: 2010-06-03 15:12:21,046 WARN [RequestUtils] No FormBeanConfig found under 'view' | ||
135 | {{/warning}} | ||
![]() |
1.6 | 136 | |
![]() |
1.12 | 137 | I saw these in the log files and apparently you can just ignore them. |
![]() |
1.6 | 138 | |
139 | == Using a JDBC Datasource == | ||
140 | |||
![]() |
1.12 | 141 | Navigate to Geronimo -> Services -> Database Pools and click the //Using the Geronimo database pool wizard// link. |
![]() |
1.6 | 142 | |
143 | === Step 1: Select Name and Database === | ||
144 | |||
![]() |
1.12 | 145 | Name of Database Pool: {{box}}<Pool Name>{{/box}} |
146 | A name that is different than the name of any other database pools in the server (no spaces in the name please). | ||
![]() |
1.6 | 147 | |
![]() |
1.12 | 148 | Database Type: {{box}}<Database Version>{{/box}} |
149 | The type of database the pool will connect to. | ||
![]() |
1.6 | 150 | |
![]() |
1.12 | 151 | === Step 2: Select Driver, JAR, Parameters === |
![]() |
1.6 | 152 | |
![]() |
1.12 | 153 | JDBC Driver Class: {{box}}<driver>{{/box}} (e.g. //org.h2.Driver//) |
154 | Driver JAR: {{box}}<jarfile for the driver>{{/box}} (e.g. //jdbc/h2/1.2.136/jar//) | ||
![]() |
1.6 | 155 | DB User Name: {{box}}<username>{{/box}} |
156 | DB Password: {{box}}<password>{{/box}} | ||
157 | Confirm Password: {{box}}<password>{{/box}} | ||
158 | |||
159 | === Step 3: Final Pool Configuration === | ||
160 | |||
![]() |
1.12 | 161 | JDBC Connect URL: {{box}}<url>{{/box}} (e.g. //jdbc:h2:tcp:~/~/localhost~/xwiki23//) |
![]() |
1.6 | 162 | Make sure the generated URL fits the syntax for your JDBC driver. |
163 | Driver Status: Loaded Successfully | ||
164 | Connection Pool Parameters | ||
165 | Transaction Type: {{box}}LOCAL{{/box}} | ||
166 | |||
167 | Type of transactions that this connection pool supports. | ||
![]() |
1.12 | 168 | Pool Min Size: {{box}}0{{/box}} |
![]() |
1.6 | 169 | |
170 | The minimum number of connections in the pool. Leave blank for default. | ||
![]() |
1.12 | 171 | Pool Max Size: {{box}}10{{/box}} |
![]() |
1.6 | 172 | |
173 | The maximum number of connections in the pool. Leave blank for default. | ||
![]() |
1.12 | 174 | Blocking Timeout: {{box}}<default>{{/box}} (in milliseconds) |
![]() |
1.6 | 175 | |
176 | The length of time a caller will wait for a connection. Leave blank for default. | ||
![]() |
1.12 | 177 | Idle Timeout: {{box}}<default>{{/box}} (in minutes) |