0

请在下面查看我的代码片段:

  1. amqmdnet(这可行,但我们更喜欢 IBM.XMS,因为我们可以进行异步消费)
  2. XMS 与 CCDT 文件
  3. 具有压缩属性的 XMS

我们尝试了所有可能的方式来配置压缩(在 XMS 中)。我真的很感谢你的帮助,如果有人可以帮助...

4

2 回答 2

2

在我看来,压缩属性的可能值是:

static int  WMQ_COMPMSG_DEFAULT
static int  WMQ_COMPMSG_NONE
static int  WMQ_COMPMSG_RLE
static int  WMQ_COMPMSG_ZLIBFAST
static int  WMQ_COMPMSG_ZLIBHIGH

所以这样的事情可能会起作用:

cf.SetIntProperty(XMSC.WMQ_MSG_COMP, XMSC.WMQ_COMPMSG_DEFAULT);

编辑:

甚至得到实际值,如果有帮助的话。

public static final int     WMQ_COMPMSG_DEFAULT     0
public static final int     WMQ_COMPMSG_NONE    0
public static final int     WMQ_COMPMSG_RLE     1
public static final int     WMQ_COMPMSG_ZLIBFAST    2
public static final int     WMQ_COMPMSG_ZLIBHIGH    4

请记住,我正在尝试提供帮助,但不会为了发布可能的解决方案而设置测试环境。如果它没有帮助,请随意投反对票。

于 2018-07-22T20:16:50.987 回答
2

如果没有 APAR IJ12614,您将无法在 XMS .NET 中以编程方式设置通道压缩。为了使用通道压缩,您必须通过 CCDT 使用它。

据我所知,也不支持 WMQ_CCDTURL。使用标准环境变量并将具有不同 QMNAME 字段值的多条记录添加到单个 CCDT 中。让应用程序连接到适当的队列管理器名称,以便从 CCDT 中选择正确的记录。请记住,在这种情况下,如果还使用星号,队列管理器名称可以是逻辑名称,而不必是物理名称。

确保所有通道名称在 CCDT 中都是唯一的。总之是个好习惯。例如,不要使用 SYSTEM.DEF.SVRCONN,而是使用 APP1.QM2.SVRCONN 或类似的,例如应用程序引用和包含在通道名称中的 QMgr 名称引用。

于 2018-07-23T07:25:03.030 回答