首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从Java程序中注销AS400

从Java程序中注销AS400
EN

Stack Overflow用户
提问于 2016-07-18 13:32:09
回答 2查看 417关注 0票数 2

我是一个400-java集成的新手。我已经创建了一个网络应用程序,它在后端调用Java程序,而后者又通过jt400应用程序接口调用AS400。我想保留一个注销按钮/超链接,它将注销当前用户。我观察到的是,当用户第一次登录时,除非我重新启动Web应用服务器(Tomcat),否则不会注销,当然,这不是每次都能做到的,即使我在java程序中这样做了:

代码语言:javascript
运行
AI代码解释
复制
finally{
  as400System.disconnectAllServices(); 
  }

当我完成后,当我下一次点击我的web应用url时,该用户仍在登录。

我尝试通过一个单独的程序调用AS400的"signoff“命令,但该命令调用返回"false":

代码语言:javascript
运行
AI代码解释
复制
 CommandCall command = new CommandCall(as400);
 boolean result= command.run("signoff"); ....
 System.out.println(result);...
 AS400Message[] messageList = command.getMessageList();
  for (AS400Message message : messageList){
   System.out.println(message.getText());
  } 

上面的代码打印如下:

代码语言:javascript
运行
AI代码解释
复制
false..
Command SIGNOFF not allowed in this setting. 
Errors occurred in command.

在这种情况下,如何处理签名有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2016-07-18 16:54:35

JavdocsdisconnectAllServices()

断开所有服务的连接。与此对象关联的所有套接字连接都将关闭。登录信息不会更改,连接属性保持冻结状态。

我觉得你想要resetAllServices()

将断开所有服务,并清除登录信息。此方法的目的是为此AS400对象“抹去过去”,使连接属性能够随后被重置。

票数 1
EN

Stack Overflow用户

发布于 2016-07-19 13:21:45

更新:我想出了其中的一个步骤。jt400接口的默认登录提示带有一个复选框“默认Id”。如果我没有检查它,当我在我的java注销代码中将com.ibm.as400.access.AS400对象置为空时,它会要求重新登录。所以这没什么。

但问题仍然存在,当复选框被选中时,我必须重新启动web服务器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38438078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档