我在尝试解决如何构建“机器”以通过Twisted向WebSphere MQ发送和接收消息。我希望它尽可能通用,所以我可以在与MQ接口的许多不同情况下重用它。使用带有扭曲的WebSphere MQ
我以前用过的扭曲,但很多年前,现在我想复活的知识,我曾经有过...
我遇到的具体问题是如何在MQ IO使用来实现扭曲。有一个与MQ接口的pymqi Python库,它提供了我需要的所有接口。该MQ调用我要实现的是:
- 发起到特定的MQ服务器/端口/信道/队列管理器/队列组合
- 取内容的连接,并张贴的消息到所需的队列
- 调查队列和返回的下一条消息的内容在队列
- 发送到队列管理器的请求,发现当前在队列
所有这些涉及阻断MQ呼叫的消息的数量。
因为我打算在很多项目中重复使用Twisted/MQ接口,所以我应该将MQ IO作为Twisted协议实现,作为Twisted传输,或者只需通过pymqi方法调用deferToThread()调用?我意识到这是一个非常广泛的问题,可能没有明确的答案。我真正接受过之前可能遇到类似挑战的人的建议(即处理总是阻塞的排队接口),并找到了一种行之有效的方法。
只是为了记录,WebSphere MQ使用的协议是封闭的。没有真正的文档说明它如何完全按字节逐个工作。 除了不同的RedBook或支持包提供的资源不足之外,理解协议的最佳资源是Wireshark的MQ解析器。但是这还远远没有完成。专有协议的喜悦! : - / – 2012-09-06 17:51:28