我们正在将应用程序从JBoss 4.2.1.GA迁移到JBoss EAP 7。 我们希望这能刷新身份验证缓存。早期的应用程序使用MBean" jboss.security:service = JaasSecurityManager"这在EAP7 JMX中是不可用的。
需要一些帮助。
谢谢。 的问候,
答案 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)