Wiki source code of Geronimo Installation
Last modified by Vincent Massol on 2017/09/06 11:34
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) |
