Mat*_*teo 3 glassfish glassfish-embedded
我们在测试环境中使用嵌入式 Glassfish 服务器。我们使用org.glassfish.embeddable.CommandRunner界面来执行管理任务(即,我们asadmin使用标准的独立 Glassfish 服务器执行的操作)
例子:
GlassFish glassfish = GlassFishRuntime.bootstrap( bp ).newGlassFish( gfp );
CommandRunner commandRunner = glassfish.getService( CommandRunner.class );
commandRunner.run(
"create-jms-resource",
"--restype",
"javax.jms.Queue",
"SOME_QUEUE_NAME"
);
Run Code Online (Sandbox Code Playgroud)
现在在命令行上,我可以使用imqcmd. 例如
imqcmd -u admin -passfile ../password.txt update dst -n SOME_QUEUE_NAME -t q -o maxBytesPerMsg=-1 -f
Run Code Online (Sandbox Code Playgroud)
有没有办法通过嵌入式 Glassfish 服务器实现相同的目标?
小智 5
imqcmd您可以使用asadmin子命令create-jmsdest来创建 JMS 物理目标,而不是使用。
从文档中create-jmsdest:
通常,您使用
create-jms-resource子命令创建一个 JMS 目标资源,该资源具有一个指定物理目标的 Name 属性。当您运行使用目标资源的应用程序时,会自动创建物理目标。create-jmsdest如果要使用非默认属性设置创建物理目标,请使用子命令。
如果您没有为 指定 Name 属性create-jms-resource,则物理目标的名称与目标资源的名称相同(用下划线替换 JNDI 名称中的任何正斜杠)。
因此,asadmin您要运行的命令例如:
create-jms-resource --restype javax.jms.Queue org/example/foo/SomeQueue
create-jmsdest --desttype queue --property maxBytesPerMsg=-1:maxTotalMsgBytes=-1 org_example_foo_SomeQueue
Run Code Online (Sandbox Code Playgroud)
请注意,(与 不同imqcmd update dst)create-jmsdest如果资源已存在,则不会更新属性。因此,您不应在两个命令之间启动您的应用程序,否则将使用默认属性自动创建资源。
如果您必须更新属性,您可以首先使用例如删除物理目的地asadmin delete-jmsdest org_example_foo_SomeQueue。
| 归档时间: |
|
| 查看次数: |
1255 次 |
| 最近记录: |