通过IFileTransportManager接口可以对MQ服务器上的文件传输服务进行管理,执行管理操作一般包括以下步骤:
创建IMqLoginer接口的实现类对象,一般都使用JaasLoginerImpl作为实现。接着调用该接口的login方法,登录到指定的服务器。创建 IMqLoginer接口的实现类对象的时候必须将
“admin”
作为用户名和并提供其密码,因为 AMQ 的文件传输功能目前限制只能由
“admin”
用户使用。
将IMqLoginer接口的实现类对象作为参数创建FileTransporterObjectFactory类的对象,并使用该对象工厂创建实现了IFileTransportManager接口的文件传输服务管理对象。
通过调用IFileTransportManager接口的方法执行管理操作。
登出服务器。
需要在mq.conf配置文件中配置如下服务:
...
<SERVICE
CLASS="com.apusic.jms.cmd.process.RequestProcessorManager"
>
</SERVICE>
...
以下代码演示了如何通过IFileTransportManager接口,删除登录的MQ服务器上的一个传输文件:
public static void main(String[] args) throws Exception {
//创建登陆器对象,在创建对象时指定要登录的服务器的IP地址,端口号,用户名和密码
//注意:必须将“admin”作为用户名和并提供其密码,因为 AMQ 的文件传输功能目前
//限制只能由“admin”用户使用。
IMqLoginer loginer = new JaasLoginerImpl("localhost", 4888, "admin", "admin");
loginer.login();
//创建对象工厂,并创建文件传输服务管理对象。
FileTransporterObjectFactory factory = new FileTransporterObjectFactory(loginer);
IFileTransportManager transportManager = factory.createFileTransportManager();
//删除登录的MQ服务器上的一个传输文件,要删除的文件根据文件的UUID标识。
Uuid fileUuid = 要删除的文件的UUID。
transportManager.removeServerStoreFile(fileUuid);
//登出服务器。
loginer.logout();
}