如何在JBoss EAP 7中刷新身份验证缓存

时间:2017-07-26 18:27:31

标签: jboss jboss-eap-7

我们正在将应用程序从JBoss 4.2.1.GA迁移到JBoss EAP 7。 我们希望这能刷新身份验证缓存。早期的应用程序使用MBean" jboss.security:service = JaasSecurityManager"这在EAP7 JMX中是不可用的。

需要一些帮助。

谢谢。 的问候,

2 个答案:

答案 0 :(得分:0)

对于独立模式,仅JMX对象名已从EAP4 / 5更改为EAP7 ... 对于域模式,您不能使用jmx子系统。您需要调用jboss-cli(也可以通过编程方式调用)。

MBeanServerConnection mbeanServerConnection = ManagementFactory.getPlatformMBeanServer();
ObjectName mbeanName = new ObjectName("jboss.as:subsystem=security,security-domain=" + domain);
mbeanServerConnection.invoke(mbeanName, "flushCache", null, null);

您可以使用jconsole(或任何其他jmx管理工具)来探索其他mbean签名。

答案 1 :(得分:0)

尝试将缓存类型更改为infinispan并添加auth缓存过期/逐出,可以使用以下Jboss-CLI命令: /subsystem=infinispan/cache-container=security:add() /subsystem=infinispan/cache-container=security/local-cache=auth-cache:add() /subsystem=infinispan/cache-container=security:write-attribute(name=default-cache, value=auth-cache) /subsystem=infinispan/cache-container=security/local-cache=auth-cache/expiration=EXPIRATION:add(lifespan=120000, max-idle=60000) /subsystem=infinispan/cache-container=security/local-cache=auth-cache/eviction=EVICTION:add(strategy=LRU, max-entries=1000) /subsystem=security/security-domain=exampleSecurityDomain:write-attribute(name=cache-type, value=infinispan)