jboss - Swing Client EJB Wildfly - 服务器端的新用户但旧用户上下文
问题描述
我目前正在尝试将应用程序移植到 Wildfly 25。此应用程序的 Swing 客户端提供重新登录。该应用程序工作 - 但是重新登录没有因为我通过新的初始上下文获得相同的服务对象,并且在服务器端会话上下文包含首先使用的用户。
初始上下文是使用如下属性创建的:
Properties properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.remote.client.InitialContextFactory");
properties.put(Context.PROVIDER_URL, "http-remoting://" + getApplicationServerEnvironment().serverHostname + ":8080");
properties.put(Context.SECURITY_PRINCIPAL, aUsername);
properties.put(Context.SECURITY_CREDENTIALS, aEncryptedPassword);
然后关闭初始上下文,使用不同的用户和密码创建一个新上下文。但是新的 Initial Context 返回相同的服务对象(与 System.identityHashCode equals 中的相同),并且当使用该服务时,它使用 SessionContext 和第一个(现在是错误的)用户。
因此,我假设 Wildfly 客户端会缓存服务。我该如何防止呢?或者我将如何使用不同的用户上下文重新获得服务?
解决方案
推荐阅读
- node.js - 找到更改节点版本的方法
- javascript - 如何使用 Node JS 下载在浏览器中的页面上打开的 html
- user-interface - 场景生成器预览显示比最终结果大得多的所有对象
- regex - 正则表达式匹配以下序列的多个字符串
- c++ - C++中动态数组的创建和使用
- android - RecyclerView 仅在方向更改后从 ViewModel 填充数据
- java - 限制在 Java 中可以调用方法的次数
- python - Python - Kmeans - 将质心添加为新列
- javascript - 如何从 wordpress 自定义字段动态生成 vue 组件
- docker - LimitRange 的 default、defaultRequest、max 和 min 限制之间的关系