Java 如何使用jt400 API仅检索启用AS400的用户

Java 如何使用jt400 API仅检索启用AS400的用户,java,ibm-midrange,jt400,jtopen,Java,Ibm Midrange,Jt400,Jtopen,是否有可能仅检索已启用的用户(添加过滤器)到jt400的UserList的getUsers方法 我做了下面的实现,但是它没有很好的性能, 因此,我试图找到一个更好的方法,如果有可能过滤用户,只获得启用的用户 Set<String> as400Users = new HashSet(); AS400 as400 = new AS400(host, username, password); //Retrieving Users UserList users = new UserLis

是否有可能仅检索已启用的用户(添加过滤器)到jt400的UserList的getUsers方法

我做了下面的实现,但是它没有很好的性能, 因此,我试图找到一个更好的方法,如果有可能过滤用户,只获得启用的用户

Set<String> as400Users = new HashSet(); 
AS400 as400 = new AS400(host, username, password);

//Retrieving Users
UserList users = new UserList(as400);
Enumeration io = users.getUsers();

  while (io.hasMoreElements()) {
            com.ibm.as400.access.User u = (com.ibm.as400.access.User)io.nextElement();
            String userName = u.getName();

            if (u.getStatus().equalsIgnoreCase("*ENABLED")) {
                as400Users.add(userName);
            }

        }
Set as400Users=newhashset();
AS400 AS400=新的AS400(主机、用户名、密码);
//检索用户
用户列表用户=新用户列表(as400);
枚举io=users.getUsers();
while(io.hasMoreElements()){
com.ibm.as400.access.User u=(com.ibm.as400.access.User)io.nextElement();
字符串userName=u.getName();
如果(u.getStatus().equalsIgnoreCase(“*已启用”)){
as400Users.add(用户名);
}
}

您可以这样查询用户信息视图:

select * 
from qsys2.user_info
where status = '*ENABLED'
这在v7.1中可用。请注意,这仅提供您有权访问的用户

您可能还希望将
getName()
调用移动到筛选器中:

Set<String> as400Users = new HashSet(); 
AS400 as400 = new AS400(host, username, password);

//Retrieving Users
UserList users = new UserList(as400);
Enumeration io = users.getUsers();

while (io.hasMoreElements()) {
    com.ibm.as400.access.User u = (com.ibm.as400.access.User)io.nextElement();

    if (u.getStatus().equalsIgnoreCase("*ENABLED")) {
        as400Users.add(u.getName());
    }

}

现在只需选择最快的方法。

您可以像这样查询用户信息视图:

select * 
from qsys2.user_info
where status = '*ENABLED'
这在v7.1中可用。请注意,这仅提供您有权访问的用户

您可能还希望将
getName()
调用移动到筛选器中:

Set<String> as400Users = new HashSet(); 
AS400 as400 = new AS400(host, username, password);

//Retrieving Users
UserList users = new UserList(as400);
Enumeration io = users.getUsers();

while (io.hasMoreElements()) {
    com.ibm.as400.access.User u = (com.ibm.as400.access.User)io.nextElement();

    if (u.getStatus().equalsIgnoreCase("*ENABLED")) {
        as400Users.add(u.getName());
    }

}
现在选择最快的方法