Ibm midrange 数据队列大小限制-从iSeries到Java的通信

Ibm midrange 数据队列大小限制-从iSeries到Java的通信,ibm-midrange,Ibm Midrange,数据队列对象有问题。我通过Java中的数据队列对象向iSeries程序(也称为AS400)发送消息。我可以写入iSeries并读取响应,但问题是数据队列的大小是由我之前发送的消息的大小定义的,因此,当我收到答案时,它已被截断为请求消息的大小,我丢失了信息。我如何解决这个问题?有人能帮我吗?我用的是开放图书馆 谢谢无论数据队列是如何创建的,它都有一个“最大条目长度”。这在CL的CRTDTAQ命令中指定,如果使用JTOpen设置数据队列对象,则在create方法调用中指定 如果计划通过数据队列发送不

数据队列对象有问题。我通过Java中的数据队列对象向iSeries程序(也称为AS400)发送消息。我可以写入iSeries并读取响应,但问题是数据队列的大小是由我之前发送的消息的大小定义的,因此,当我收到答案时,它已被截断为请求消息的大小,我丢失了信息。我如何解决这个问题?有人能帮我吗?我用的是开放图书馆


谢谢

无论数据队列是如何创建的,它都有一个“最大条目长度”。这在CL的
CRTDTAQ
命令中指定,如果使用JTOpen设置数据队列对象,则在
create
方法调用中指定

如果计划通过数据队列发送不同长度的消息,则需要创建“最大条目长度”大于或等于实际最大条目长度的数据队列。否则,你就有可能把东西放在一端,当它从另一端出来时,它就会被截断


这显示了如何从JTOpen创建数据队列。

无论如何创建,数据队列都具有“最大条目长度”。这在CL的
CRTDTAQ
命令中指定,如果使用JTOpen设置数据队列对象,则在
create
方法调用中指定

如果计划通过数据队列发送不同长度的消息,则需要创建“最大条目长度”大于或等于实际最大条目长度的数据队列。否则,你就有可能把东西放在一端,当它从另一端出来时,它就会被截断


这说明了如何从JTOpen.< /P> < P> >代码> >创建/>代码>您是否可以考虑另一种解决方案?我们在类似情况下使用的方法是通过没有大小限制的用户空间(AS/400上的对象类型USRSPC)传递请求/响应消息的内容。嗯,如果我没记错的话,大约16GB。。。用户空间的固定大小名称依次通过AS/400服务器和Java客户端之间的数据队列(DTAQ)传递 如何创建数据队列?当我从命令提示符(使用

CRTDTAQ
命令)创建数据队列时,我必须指定从1到64512字节的最大条目长度。假设我创建了一个长度为100的数据队列并尝试放入200个字节,它可能会被截断。您也可能在DataQueue对象上使用
create
方法。根据,如果您是从Java创建的,那么在这里您将指定一个
maxEntryLength
。数据队列是如何创建的?当我从命令提示符(使用
CRTDTAQ
命令)创建数据队列时,我必须指定从1到64512字节的最大条目长度。假设我创建了一个长度为100的数据队列并尝试放入200个字节,它可能会被截断。您也可能在DataQueue对象上使用
create
方法。根据,如果您是从Java创建的,那么您可以在这里指定一个
maxEntryLength
。创建的数据队列长度为40000,而我们在Java中收到的消息不超过1000个字符,因此应该可以正常工作。无论如何,当我们向iSeries发送500个字符的消息时,响应消息的长度被截断为500。我们的解决方案是用空格填充我们发送的消息,使其与响应的长度相同。虽然这不能解决问题,但我们称之为“锤子解决方案”…我明白了。您确定在iSeries上运行的程序没有截断数据吗?如果您有查看数据队列的方法(例如
DBU
,或者您甚至可以使用
DMPOBJ
命令,尽管这不是最友好的方法),那么您可能需要确认整个响应都是针对数据队列的。您必须从Java程序发送消息,并抑制逻辑以使用响应来执行此操作。祝你好运正在创建长度为40000的数据队列,并且我们在Java中收到的消息不超过1000个字符,因此应该可以正常工作。无论如何,当我们向iSeries发送500个字符的消息时,响应消息的长度被截断为500。我们的解决方案是用空格填充我们发送的消息,使其与响应的长度相同。虽然这不能解决问题,但我们称之为“锤子解决方案”…我明白了。您确定在iSeries上运行的程序没有截断数据吗?如果您有查看数据队列的方法(例如
DBU
,或者您甚至可以使用
DMPOBJ
命令,尽管这不是最友好的方法),那么您可能需要确认整个响应都是针对数据队列的。您必须从Java程序发送消息,并抑制逻辑以使用响应来执行此操作。祝你好运好主意。尽管最大用户空间大小约为16MB,但根据。这仍然比64KB的最大数据队列条目大小要好得多。感谢您的更正,@dmc!已经有一段时间了,所以细节有点模糊,对不起。我只记得它比DTAARA、USRQ或DTAQ好得多。再次感谢。用户空间存在安全问题(因此需要*SEC QALWUSRDMN系统值)。为什么不直接转储文件(“消息”)