jndi-如何使用嵌入jar、war或ear中的文件来在提供者url中使用?

mrwjdhj3  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(338)

我使用log4j2通过jms/mq将消息记录到系统中。我使用IBMMQExplorer在本地c:\jndi目录文件夹中创建了一个.bindings文件。这在本地运行时非常有效,但是当我部署到websphere时,我希望能够将我的.bindings文件与ear捆绑在一起。log4j2.xml中的appender如下所示:

<JMS name="jmsQueue"
         destinationBindingName="AuditDest"
         factoryName="com.sun.jndi.fscontext.RefFSContextFactory"
         providerURL="file:/C:/JNDI-Directory"
         factoryBindingName="JMSConnectionFactory">
      <PatternLayout pattern="%m"/>
    </JMS>

我的部署环境是运行在aix上的websphereapplicationserver。我将有几个要部署到的环境(即dev、test、qa、stage、production),在我的构建中,我希望使用一个基于我在本地创建的环境的特定于环境的.bindings文件,因为每个环境中只有队列管理器名称和ip会更改。
所以我想我可以把.bindings文件放在properties文件夹中,在为部署的环境构建的过程中,只需将dev.bindings复制到war或ear存档中的.bindings。但是,我不确定如何构造providerurl字符串。如果我在本地机器上使用“file:/properties/”,它将被解释为c:\properties,而不是查找war或ear manifest.mf类路径。
是否可以这样做,或者我必须请求was管理员为每个服务器创建一个.bindings文件?我想避免这种情况,这样我就可以更直接地控制事情,因为在我们的was环境中请求更改将需要一张票据,这需要提前完成,等等。
谢谢!!!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题