我有一个 Web 服务,它通过 JTOpen 在 AS400 上调用一些存储过程。
我想做的是,用于调用存储过程的连接是在具有特定用户的特定子系统中打开的,而不是现在的 qusrwrk/quser(默认)。
我想我可以克隆 qusrwrk 子系统以使其以特定用户启动,但我无法弄清楚在特定子系统中打开连接的机制。
我想应该在连接级别有一个属性来表示subsystem=MySubsystem。
但不幸的是,我还没有找到那个属性。
任何提示将不胜感激。
弗拉维奥
我有一个 Web 服务,它通过 JTOpen 在 AS400 上调用一些存储过程。
我想做的是,用于调用存储过程的连接是在具有特定用户的特定子系统中打开的,而不是现在的 qusrwrk/quser(默认)。
我想我可以克隆 qusrwrk 子系统以使其以特定用户启动,但我无法弄清楚在特定子系统中打开连接的机制。
我想应该在连接级别有一个属性来表示subsystem=MySubsystem。
但不幸的是,我还没有找到那个属性。
任何提示将不胜感激。
弗拉维奥
让系统负责启动作业数据库服务器作业的子系统。
您应该只关注应用程序(这是 IBM i 擅长的)。
如果需要,您可以调整 QUSRWRK 的子系统参数,以通过分配内存等来提高性能。
系统使用常见问题解答中所述的预启动作业池:当我执行 WRKACTJOB 时,为什么主机服务器作业在 QUSER 下运行,而不是在 AS400 对象上指定的配置文件下运行?
为了提高性能,主机服务器作业是在 QUSER 下运行的预启动作业。当工具箱连接到主机服务器作业以执行 API 调用、运行命令等时,工具箱会向可用的预启动作业发送请求。此请求包括在表示连接的 AS400 对象上指定的用户配置文件。主机服务器作业接收请求并在运行请求之前切换到指定的用户配置文件。主机服务器本身最初在 QUSER 配置文件下运行,因此 WRKACTJOB 命令的输出将显示该作业由 QUSER 拥有。但是,该作业实际上是在请求中指定的配置文件下运行的。要确定用于任何给定主机服务器作业的配置文件,您可以执行以下三件事之一:
1. Display the job log for that job and find the message indicating which user profile is used as a result of the swap.
2. Work with the job and display job status attributes to view the current user profile.
3. Use Navigator for i to view all of the server jobs, which will list the current user of each job. You can also use Navigator for i to look at the server jobs being used by a particular user.