|
5 | 5 | xmlns:xlink="http://www.w3.org/1999/xlink"> |
6 | 6 | <info> |
7 | 7 | <title>Extension Modules</title> |
8 | | - <date>2Q21</date> |
| 8 | + <date>3Q26</date> |
9 | 9 | <keywordset> |
10 | 10 | <keyword>java-development</keyword> |
11 | 11 | </keywordset> |
|
36 | 36 | may then be added to <literal>$EXIST_HOME/extensions/indexes/pom.xml</literal>. They |
37 | 37 | will be compiled automatically by the standard build targets or as indicated |
38 | 38 | above.</para> |
39 | | - <para>eXist-db must also be told which modules to load at startup, this is done in |
40 | | - <literal>conf.xml</literal> and the Class name and Namespace for each module is |
41 | | - listed below. </para> |
| 39 | + <para>Since eXist-db 7.0, bundled extension modules are auto-discovered at startup via |
| 40 | + the Java <literal>ServiceLoader</literal> mechanism — no <literal>conf.xml</literal> |
| 41 | + entry is needed to activate them. Third-party modules (not bundled with eXist-db) |
| 42 | + still require an explicit <tag>module</tag> entry in the |
| 43 | + <tag>builtin-modules</tag> section of <literal>conf.xml</literal>. An explicit entry |
| 44 | + always takes precedence over SPI auto-discovery for the same namespace URI; set |
| 45 | + <code>enabled="no"</code> on an entry to suppress a bundled module. The class name |
| 46 | + and namespace for each module are listed below.</para> |
42 | 47 | <note> |
43 | 48 | <para>eXist-db will require a restart to load any new modules added. </para> |
44 | 49 | </note> |
45 | | - <para>Once a Module is configured and loaded eXist-db will display the module and its |
| 50 | + <para>Once a module is configured and loaded, eXist-db will display the module and its |
46 | 51 | function definitions as part of the <link xlink:href="{${fundocs.pkg.abbrev}}">function |
47 | | - library</link> page or through <literal>util:decribe-function()</literal>.</para> |
| 52 | + library</link> page or through <literal>util:describe-function()</literal>.</para> |
48 | 53 | </sect1> |
49 | 54 |
|
50 | 55 | <!-- ================================================================== --> |
|
80 | 85 | </listitem> |
81 | 86 | </itemizedlist> |
82 | 87 | <para> |
83 | | - The Cache module can be configured for with a bounded size, or time, or both. eXist-db cannot |
| 88 | + The Cache module can be configured with a bounded size, or time, or both. eXist-db cannot |
84 | 89 | know how much memory the data you will put in the cache will take, so it is up to you to |
85 | 90 | manage your own memory needs here. |
86 | 91 | </para> |
87 | 92 | <para>A named cache can either be explicitly created by calling the <code>cache:create</code> XQuery |
88 | | - function, or it can be implicitly created lazing on the first operation performed on the cache. |
| 93 | + function, or it can be implicitly created lazily on the first operation performed on the cache. |
89 | 94 | Configuration of the Cache module is specified within the module definition of eXist-db's |
90 | 95 | <code>conf.xml</code> file:</para> |
91 | 96 | <programlisting language="xml" xlink:href="listings/listing-2.xml"/> |
|
116 | 121 | </listitem> |
117 | 122 | </itemizedlist> |
118 | 123 | <para> |
119 | | - The SQL Module can be configured with additional which allow Connection Pooling of the SQL connections to be utilised. |
| 124 | + The SQL Module can be configured with additional options that enable connection pooling for SQL connections. |
120 | 125 | For this purpose the <link xlink:href="https://github.com/brettwooldridge/HikariCP">HikariCP</link> connection pool implementation is used. |
121 | 126 | </para> |
122 | 127 | <para>Multiple connection pools can be configured and used from XQuery via the <code>sql:get-connection-from-pool</code> function.</para> |
|
0 commit comments