问题标签 [jt400]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
db2 - Apache Camel - 无法使用 jt400 连接到 As400
能够连接到 DB2 数据库,使用以下用蓝图编写的数据源。
我正在尝试使用以下数据源 bean 连接到 AS400 db
下面是在我的项目 pom.xml 中为 AS400 连接添加的依赖项
当我在 servicemix 中部署时,它会抛出以下错误。
尝试使用以下命令安装 jt400。
这是抛出以下异常
有没有其他方法可以使用数据源技术连接到 AS400 i DB?
提前致谢..
java - JT400 - 获取由命令生成的假脱机文件
我正在使用 JT400 开发一个 java 类,并尝试使用以下命令获取命令“dspmsg qsysopr”的结果:
我发现该命令在用户 QUSER 的 JOB 中运行,但是在我实例化对象 AS400 时指定的用户“用户”下生成了一个带有结果的假脱机文件。
我可以成功运行该命令,但结果不是队列中的消息:
“已创建打印机输出。”
我用代码得到这个结果:
问题 1:有没有办法不接收假脱机文件中的消息,但它以 na AS400Message 或类似的形式返回给我?
没办法,我用下面的方法来获取spool文件:
问题是:我没有调用方法“getSpoolFile”的参数。如果我手动登录AS400,查看spool文件详细信息,用手动获取的参数调用方法,成功获取spool文件。但是我收到的 JOB 对象是:
运行后:
与创建假脱机文件的作业不同。例如,如果我检查:
结果是“QUSER”,但假脱机文件是在“用户”输出队列下生成的。
问题2:如何获取与该spool文件的生成相关的JOB?
问题3:我是否也可以获取与生成的spool文件相关的参数,如spool文件号和spool文件名?
我需要以下信息才能调用“getSpoolFile”方法:
- 假脱机文件名
- 假脱机文件编号
- 职位名称
- 工作用户
- 工作编号
谢谢,卡洛斯
java - JT400 - 从队列中获取消息
我想从队列而不是 QSYS.LIB 的队列中获取 AS400 中的消息。只有当我使用 QSYS.LIB 中的队列时,我才使用运行良好的以下代码:
如果我将 /qsys.lib/qsysopr.msgq 替换为来自其他库的任何其他队列,例如“/yaclib.lib/queueName.msgq”,我会收到以下错误:
com.ibm.as400.access.IllegalPathNameException: /yaclib.lib/queueName.msgq: Object not in QSYS file system。在 com.ibm.as400.access.QSYSObjectPathName.parse(QSYSObjectPathName.java:599) 在 com.ibm.as400.access.QSYSObjectPathName.(QSYSObjectPathName.java:169) 在 com.ibm.as400.access.QSYSObjectPathName.(QSYSObjectPathName .java:177) 在 com.ibm.as400.access.MessageQueue.(MessageQueue.java:299) 在 br.com.operation.AS400Inspector.getMessagesFromYaclib(AS400Inspector.java:225) 在 br.com.operation.Main.main (Main.java:43)
问题1:我做错了什么?
问题2:有没有办法限制不需要回复的消息?喜欢在特定日期之后收到消息还是仅在过去 2 天收到消息?
谢谢。
java - AS400 jt400 获取内存使用情况
我只是在尝试jt400.jar
从AS400
.
我想出了如何连接以及如何通过使用类SystemStatus
以及如何读取值来接收值SystemValues
。(只需要找到这些值的解释,对我有什么提示吗?)
谁能告诉我,其中的哪些功能SystemStatus
为我提供了 RAM 的使用或接收此信息的流行方式?
我已经阅读了很多文档,但找不到任何东西。
http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_71/rzahh/as400obj.htm http://itknowledgeexchange.techtarget.com/itanswers/system-information-into-a-file/ http://www .ibm.com/developerworks/ibmi/library/i-javatoolbox/
提前致谢
java - 通过 Java jt400 的 AS400 作业队列
我只是在 java 应用程序和 AS400 之间编写一个接口。为此,我使用 jt400。我设法获取有关系统状态的信息,例如 CPU 使用情况,以及我设法接收有关子系统和作业的当前状态。
现在我正在寻找一个选项来查看 AS400 内部的不同作业队列。
例如:我想知道,哪个队列中有多少作业。
是否有通过 jt400 的解决方案或通过 java 访问这些信息的不同方法?
AS400里面对应的命令是WRKJOBQ
最佳 LStrike
[编辑]
以下代码是我对 JobList 的过滤器。但是如何配置与 WRKJOBQ 匹配的 QSYSObjectPathName?
java - jt400 在 AS400 上的 DB2 编码问题
我使用 jt400 从 as400 - db2 上的数据库中获取数据。
我的数据库使用 ccsid 37 编码。我只有波兰语字母有问题。如何强制 jt400 使用正确的编码?
我试过了
但它不起作用
java - 与 TN5250j 的连接有效,而 IBMi 访问 v1r1(和 JT400 库)无效
几天前,我正常工作的 java 应用程序声明在连接到 AS400 时抛出“一般安全错误”。我使用 JT400 库进行连接。经过一些调试后,我还发现我无法连接 IBMi access v1r1(来自 IBM 的 5250 仿真器)。System i Navigator 也不起作用。这是登录时的打印屏幕(java 应用程序的错误相同):
但与 TN5250J 仿真器连接有效!我猜问题出在“未授权反对 /QSYS.LIB/EN_US.LOCALE”。我尝试连接两个用户。一个是我的编程用户,通过TN5250J连接正常。另一个是我无法检查的数据库访问用户,因为它已禁用通过终端的访问。在不同系统(V5R4)上使用相同的应用程序可以正常工作。查看工作日志,我一无所获。
为什么在登录期间访问 /QSYS.LIB/EN_US.LOCALE(而不是从 TN5250J 访问)?什么会影响登录过程,使其不再适用于 IBM 仿真器/库,但仍适用于 TN5250J?JT400 库中是否有一些连接属性可能会影响登录期间发生的情况,以便我可以像使用 TN5250J 一样连接?
也请有人创建标签 TN5250J。我认为它应该在这里,我没有创造它的声誉!
java - Tomcat 内存泄漏警告 - AS400 作业线程在关闭/重新部署时未关闭
我有一个在 Tomcat 8.0 服务器上运行的 spring 应用程序,当停止服务器或在服务器上重新部署应用程序时出现以下错误。
我正在使用 JT400 maven 依赖项(版本 9.0,尽管我尝试过其他版本)连接到 AS400 db,所以使用 AS400JDBCDriver。这是我在应用程序的 context.xml 中设置连接的方式
然后在 spring 配置文件中声明数据源:
然后我有几十个 bean 使用该数据源。
所以问题是,当我停止我的 Tomcat 或重新部署时,我会收到许多关于未能停止的线程的消息。我知道它专门来自这个连接源,因为当我更改“initialSize”属性(比如从 3 到 5)时,当服务器停止时我会收到很多消息。所以很明显,连接池打开的所有这些连接都没有被终止。
当服务器关闭时,线程确实消失了(显然,服务器不再存在),但是当它只是重新部署时,这些线程肯定会保持打开状态。我知道这一点是因为我可以在 as400 机器上找到空缺的工作,而且它们似乎并没有真正超时。
我已经尝试了很多事情,我有一个 ServletContextListener 取消注册驱动程序(它摆脱了那个警告,但不是这些),我尝试将 jt400.jar 移动到 tomcat/lib 文件夹(但我不能真的告诉我运行它时它是否在那里工作),我已经尝试调整设置并尝试不同版本的 jt400.jar。没运气。
任何建议或帮助将不胜感激。
ibm-midrange - JT400 - 回复 MSGW 作业
是否可以从 JT400 回复 AS400 中的 MSGW 作业?
我有 Job 元素,我可以通过 Job.MESSAGE_REPLY_WAITING 知道它是否处于 MSGW 状态
例如:通常我通过 WRKACTJOB 使用“C”
hibernate - 使用 Hibernate 查询 IBM i 如果从绿屏添加记录,则不会返回所有数据
我遇到了一个问题,即通过传统的绿屏应用程序在 IBM i 上创建的数据没有反映在我正在编写的 Web 应用程序中。我从 Web 应用程序添加的记录似乎可以立即用于 Web 应用程序和 IBM i,但我在 IBM i 上创建的记录不能立即用于 Web 应用程序。我认为这可能是缓存问题,但重新启动我的网络应用程序后,记录仍然不存在。我已经尝试设置javax.persistence.cache.retrieveMode
为BYPASS
,并且该设置在我的 Hibernate 实体管理器创建时得到反映,但是从我的查询返回的数据仍然缺少通过绿屏添加的记录。
在这个阶段,我不认为这是一个缓存问题。所以这是我到目前为止所做的测试。
我正在使用的文件是 WOHDR2 和 WOJOBS,其中 WOHDR2 是头文件,WOJOBS 是详细文件。
这是我到目前为止测试过的。
通过网络应用程序添加到文件 WOJOBS 并立即关联到 WOHDR2 的记录 - 这些记录反映了父 WOHDR2 的 ID 字段,并且在网络应用程序和绿屏中都可见。
通过绿屏应用程序添加到文件 WOJOBS 的记录,没有与 WOHDR2 的 ID 关联,即:它处于挂起状态,直到用户稍后将其分配给 WOHDR2 - 此记录通过绿屏应用程序可见,但网络应用程序不可见
通过绿屏将 WOJOBS 记录关联到 WOHDR2 - 我现在可以通过 Web 应用程序查看 WOJOBS 记录
通过网络应用程序或绿屏应用程序添加到文件 WOHDR2 的记录 - 通过网络应用程序和绿屏应用程序同时显示记录