Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix #5 update docs #8

Merged
merged 1 commit into from
Jun 22, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 19 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
# Quarkus - Pooled Jms
# Quarkus Messaginghub Pooled JMS Extension
[![Build](https://github.com/quarkiverse/quarkus-pooled-jms/workflows/Build/badge.svg?branch=master)](https://github.com/quarkiverse/quarkus-pooled-jms/actions?query=workflow%3ABuild)
[![License](https://img.shields.io/github/license/quarkiverse/quarkus-pooled-jms)](http://www.apache.org/licenses/LICENSE-2.0)
[![Central](https://img.shields.io/maven-central/v/io.quarkiverse.messaginghub/quarkus-pooled-jms-parent?color=green)](https://search.maven.org/search?q=g:io.quarkiverse.messaginghub%20AND%20a:quarkus-pooled-jms-parent)
<!-- ALL-CONTRIBUTORS-BADGE:START -->
<!-- ALL-CONTRIBUTORS-BADGE:END -->

## Welcome to Quarkiverse!
This extension provides JMS Connection pool for messaging applications that provides pooling for JMS Connections, Sessions and MessageProducers. Also it can be integrated with transaction manager to support XA JTA which is provided by [Quarkus Narayana JTA](https://quarkus.io/guides/transaction). Add the following dependency in your pom.xml to get started,

Congratulations and thank you for creating a new Quarkus extension project in Quarkiverse!
```xml
<dependency>
<groupId>io.quarkiverse.messaginghub</groupId>
<artifactId>quarkus-pooled-jms</artifactId>
</dependency>
```

Feel free to replace this content with the proper description of your new project and necessary instructions how to use and contribute to it.
For more information and quickstart, you can check the complete [documentation](https://quarkiverse.github.io/quarkiverse-docs/quarkus-pooled-jms/dev/index.html).

You can find the basic info, Quarkiverse policies and conventions in [the Quarkiverse wiki](https://github.com/quarkiverse/quarkiverse/wiki).
## Contributors ✨

In case you are creating a Quarkus extension project for the first time, please follow [Building My First Extension](https://quarkus.io/guides/building-my-first-extension) guide.
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
<!-- ALL-CONTRIBUTORS-LIST:START -->
<!-- ALL-CONTRIBUTORS-LIST:END -->

Other useful articles related to Quarkus extension development can be found under the [Writing Extensions](https://quarkus.io/guides/#writing-extensions) guide category on the [Quarkus.io](http://quarkus.io) website.

Thanks again, good luck and have fun!

## Documentation

The documentation for this extension should be maintained as part of this repository and it is stored in the `docs/` directory.

The layout should follow the [Antora's Standard File and Directory Set](https://docs.antora.org/antora/2.3/standard-directories/).

Once the docs are ready to be published, please open a PR including this repository in the [Quarkiverse Docs Antora playbook](https://github.com/quarkiverse/quarkiverse-docs/blob/main/antora-playbook.yml#L7). See an example [here](https://github.com/quarkiverse/quarkiverse-docs/pull/1).
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
97 changes: 38 additions & 59 deletions docs/modules/ROOT/pages/config.adoc
Original file line number Diff line number Diff line change
@@ -1,112 +1,91 @@
//
// This content is generated using mvn compile and copied manually to here
//
[.configuration-legend]
icon:lock[title=Fixed at build time] Configuration property fixed at build time - All other configuration properties are overridable at runtime
[.configuration-reference.searchable, cols="80,.^10,.^10"]
|===

h|[[quarkus-freemarker_configuration]]link:#quarkus-freemarker_configuration[Configuration property]
h|[[quarkus-pooled-jms_configuration]]link:#quarkus-pooled-jms_configuration[Configuration property]

h|Type
h|Default

a|icon:lock[title=Fixed at build time] [[quarkus-freemarker_quarkus.freemarker.resource-paths]]`link:#quarkus-freemarker_quarkus.freemarker.resource-paths[quarkus.freemarker.resource-paths]`
a|icon:lock[title=Fixed at build time] [[quarkus-pooled-jms_quarkus.pooled-jms.xa]]`link:#quarkus-pooled-jms_quarkus.pooled-jms.xa[quarkus.pooled-jms.xa]`

[.description]
--
Comma-separated list of absolute resource paths to scan recursively for templates. All tree folder from 'resource-paths' will be added as a resource. Unprefixed locations or locations starting with classpath will be processed in the same way.
--|list of string
|`freemarker/templates`
enable xa.
--|boolean
|`false`


a| [[quarkus-freemarker_quarkus.freemarker.file-paths]]`link:#quarkus-freemarker_quarkus.freemarker.file-paths[quarkus.freemarker.file-paths]`
a|icon:lock[title=Fixed at build time] [[quarkus-pooled-jms_quarkus.pooled-jms.max-connections]]`link:#quarkus-pooled-jms_quarkus.pooled-jms.max-connections[quarkus.pooled-jms.max-connections]`

[.description]
--
Comma-separated of file system paths where freemarker templates are located
--|list of string
|
Determines the maximum number of Connections the pool maintains in a single Connection pool (defaults to one).
--|int
|`1`


a| [[quarkus-freemarker_quarkus.freemarker.default-encoding]]`link:#quarkus-freemarker_quarkus.freemarker.default-encoding[quarkus.freemarker.default-encoding]`
a|icon:lock[title=Fixed at build time] [[quarkus-pooled-jms_quarkus.pooled-jms.connection-idle-timeout]]`link:#quarkus-pooled-jms_quarkus.pooled-jms.connection-idle-timeout[quarkus.pooled-jms.connection-idle-timeout]`

[.description]
--
Set the preferred charset template files are stored in.
--|string
|
The idle timeout (default 30 seconds) controls how long a Connection that hasn't been or currently isn't loaned out to any client will remain idle in the Connection pool before it is eligible to be closed and discarded. To disable idle timeouts the value should be set to 0 or a negative number.
--|int
|`30`


a| [[quarkus-freemarker_quarkus.freemarker.template-exception-handler]]`link:#quarkus-freemarker_quarkus.freemarker.template-exception-handler[quarkus.freemarker.template-exception-handler]`
a|icon:lock[title=Fixed at build time] [[quarkus-pooled-jms_quarkus.pooled-jms.connection-check-interval]]`link:#quarkus-pooled-jms_quarkus.pooled-jms.connection-check-interval[quarkus.pooled-jms.connection-check-interval]`

[.description]
--
Sets how errors will appear. rethrow, debug, html-debug, ignore.
--|string
|
used to establish a periodic check for expired Connections which will close all Connection that have exceeded the set expiration value. This value is set to 0ms by default and only activates if set to a positive non-zero value.
--|long
|`0`


a| [[quarkus-freemarker_quarkus.freemarker.log-template-exceptions]]`link:#quarkus-freemarker_quarkus.freemarker.log-template-exceptions[quarkus.freemarker.log-template-exceptions]`
a|icon:lock[title=Fixed at build time] [[quarkus-pooled-jms_quarkus.pooled-jms.use-provider-jms-context]]`link:#quarkus-pooled-jms_quarkus.pooled-jms.use-provider-jms-context[quarkus.pooled-jms.use-provider-jms-context]`

[.description]
--
If false, don't log exceptions inside FreeMarker that it will be thrown at you anyway.
--|boolean
|
by default the JMS pool will use it's own generic JMSContext classes to wrap a Connection borrowed from the pool instead of using the JMSContext functionality of the JMS ConnectionFactory that was configured. This generic JMSContext implementation may be limited compared to the Provider version and if that functionality is critical to the application this option can be enabled to force the pool to use the Provider JMSContext implementation. When enabled the JMSContext API is then not part of the Connections that are pooled by this JMS Connection pooling library.
--|boolean
|`false`


a| [[quarkus-freemarker_quarkus.freemarker.wrap-unchecked-exceptions]]`link:#quarkus-freemarker_quarkus.freemarker.wrap-unchecked-exceptions[quarkus.freemarker.wrap-unchecked-exceptions]`
a|icon:lock[title=Fixed at build time] [[quarkus-pooled-jms_quarkus.pooled-jms.max-sessions-per-connection]]`link:#quarkus-pooled-jms_quarkus.pooled-jms.max-sessions-per-connection[quarkus.pooled-jms.max-sessions-per-connection]`

[.description]
--
Wrap unchecked exceptions thrown during template processing into TemplateException-s.
--|boolean
|
For each Connection in the pool there can be a configured maximum number of Sessions that the pooled Connection will loan out before either blocking or throwing an error (based on configuration). By default this value is 500 meaning that each provider Connection is limited to 500 sessions, this limit can be disabled by setting the value to a negative number.
--|int
|`500`


a| [[quarkus-freemarker_quarkus.freemarker.fallback-on-null-loop-variable]]`link:#quarkus-freemarker_quarkus.freemarker.fallback-on-null-loop-variable[quarkus.freemarker.fallback-on-null-loop-variable]`
a|icon:lock[title=Fixed at build time] [[quarkus-pooled-jms_quarkus.pooled-jms.block-if-session-pool-is-full]]`link:#quarkus-pooled-jms_quarkus.pooled-jms.block-if-session-pool-is-full[quarkus.pooled-jms.block-if-session-pool-is-full]`

[.description]
--
If false, do not fall back to higher scopes when reading a null loop variable.
--|boolean
|
When true (default) a call to createSession on a Connection from the pool will block until another previously created and loaned out session is closed an thereby becomes available. When false a call to createSession when no Session is available will throw an IllegalStateException to indicate that the Connection is not able to provide a new Session at that time.
--|boolean
|`true`


a| [[quarkus-freemarker_quarkus.freemarker.boolean-format]]`link:#quarkus-freemarker_quarkus.freemarker.boolean-format[quarkus.freemarker.boolean-format]`
a|icon:lock[title=Fixed at build time] [[quarkus-pooled-jms_quarkus.pooled-jms.block-if-session-pool-is-full-timeout]]`link:#quarkus-pooled-jms_quarkus.pooled-jms.block-if-session-pool-is-full-timeout[quarkus.pooled-jms.block-if-session-pool-is-full-timeout]`

[.description]
--
The string value for the boolean `true` and `false` values, usually intended for human consumption (not for a computer language), separated with comma.
--|string
|
When the blockIfSessionPoolIsFull option is enabled and this value is set then a call to createSession that has blocked awaiting a Session will wait for the specified number of milliseconds before throwing an IllegalStateException. By default this value is set to -1 indicating that the createSession call should block forever if configured to wait.
--|int
|`-1`


a| [[quarkus-freemarker_quarkus.freemarker.number-format]]`link:#quarkus-freemarker_quarkus.freemarker.number-format[quarkus.freemarker.number-format]`
a|icon:lock[title=Fixed at build time] [[quarkus-pooled-jms_quarkus.pooled-jms.use-anonymous-producers]]`link:#quarkus-pooled-jms_quarkus.pooled-jms.use-anonymous-producers[quarkus.pooled-jms.use-anonymous-producers]`

[.description]
--
Sets the default number format used to convert numbers to strings.
--|string
|
By default a Session that has been loaned out on a call to createSession will use a single anonymous JMS MessageProducer as the underlying producer for all calls to createProducer. In some rare cases this is not desirable and this feature can be disabled using this option, when disabled every call to createProducer will result in a new MessageProducer instance being created.
--|boolean
|`true`


a| [[quarkus-freemarker_quarkus.freemarker.object-wrapper-expose-fields]]`link:#quarkus-freemarker_quarkus.freemarker.object-wrapper-expose-fields[quarkus.freemarker.object-wrapper-expose-fields]`

[.description]
--
If true, the object wrapper will be configured to expose fields.
--|boolean
|


a|icon:lock[title=Fixed at build time] [[quarkus-freemarker_quarkus.freemarker.directive-directive]]`link:#quarkus-freemarker_quarkus.freemarker.directive-directive[quarkus.freemarker.directive]`

[.description]
--
List of directives to register with format name=classname
--|`Map<String,String>`
|

|===
|===
2 changes: 1 addition & 1 deletion docs/modules/ROOT/pages/index.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
= Quarkus - Pooled Jms
:extension-status: preview

Describe what the extension does here.
Quarkus extension for a JMS Connection pool and transaction manager integration for messaging applications supporting JMS 1.1 and 2.0 clients.

== Installation

Expand Down
18 changes: 10 additions & 8 deletions runtime/src/main/resources/META-INF/quarkus-extension.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
name: Pooled Jms
#description: Pooled Jms ...
name: Messaginghub Pooled JMS
description: Quarkus extension for a JMS Connection pool and transaction manager integration for messaging applications supporting JMS 1.1 and 2.0 clients
metadata:
# keywords:
# - pooled-jms
# guide: ...
# categories:
# - "miscellaneous"
# status: "preview"
keywords:
- messaging
- jms
- pooling
guide: "https://quarkiverse.github.io/quarkiverse-docs/quarkus-pooled-jms/dev/index.html"
categories:
- "miscellaneous"
status: "preview"