设置 Payara 中 JMS 目标的最大消息大小

问题描述 投票:0回答:1

我们使用 Payara 服务器版本 5 和 6,在其上配置了多个 JMS 目标。 这些是通过 asadmin 命令行工具配置的,如下所示:

./asadmin --Port=4848 create-jms-resource 
--resType=javax.jms.Queue
--property=Name=lokal.test
--force=false 
--enabled=true jms/transport/test

我现在遇到的问题是,我需要为此 JMS 目标配置最大消息大小,因为默认值太小。 (payara默认为10MB) 这应该使用 asadmin 命令行工具来完成。使用 GUI 不是一个选项,因为我需要自动化该行为。

我已经尝试将属性

MaxBytesPerMsg
设置为 -1(无限制)来尝试一下。 (根据https://javaee.github.io/glassfish/doc/5.0/reference-manual.pdf第137页) 然而,即使在重新启动 payara 后,这也没有任何作用。该值仍设置为 10MB。

使用 imqcmd (https://docs.oracle.com/cd/E19253-01/816-5166/6mbb1kq38/index.html) 是可能的,但这会是一个问题,因为我们需要将此工具部署在多个服务器。

我希望有可能使用 asadmin 工具设置此属性,特别是使用与此类似的 JMS 目标的属性:

set resources.admin-object-resource.jms/transport/test.property.MaxBytesPerMsg=-1

但是我似乎找不到合适的属性名称。

有谁知道使用 asadmin 命令行工具执行此操作的方法吗? 任何帮助将不胜感激!

jms payara asadmin
1个回答
0
投票

遗憾的是,没有人可以帮助我,我找到了一种解决方法,可以帮助那些遇到类似问题的人。

我没有发现任何使用 asadmin 命令设置此属性的可能性。相反,我能够将属性写入域文件夹中的特定文件中以设置属性。

只需转到

../<domainFolder>/<domainName>/imq/instances/imqbroker/props
并打开
config.properties
文件。 在文件末尾,您可以添加
imq.autocreate.destination.maxBytesPerMsg=80M
,例如,将所有 JMS 队列的每条消息的最大字节数设置为 80 MB。

此文件和目录仅在域首次启动后自动创建,并且只有在域不再运行时才写入该文件以避免出现问题。 将属性写入此文件适用于 Windows 系统和 Linux。

就我而言,我只是在域设置工具中实现了这一点,该工具现在在配置、启动和停止域后写入 config.properties 文件。

我知道这不是最优雅的解决方案,但至少它有效。如果有人知道如何使用 asadmin 命令设置它,我仍然非常感激!

© www.soinside.com 2019 - 2024. All rights reserved.