<div dir="ltr">I&#39;m glad you found it . <div>Sorry i did not reply to your email before . </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Sep 16, 2015 at 12:19 PM, Eric Wittmann <span dir="ltr">&lt;<a href="mailto:eric.wittmann@redhat.com" target="_blank">eric.wittmann@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Update:  I have been able to reproduce this bug.<br>
<br>
The root cause is that two versions of the same plugin policy are being use at the same time in the same gateway.  There shouldn&#39;t be any issue/problem with that, and the fact that an error occurs in this scenario is simply a bug in how we are caching the policy configuration info.<br>
<br>
Should be an easy fix and will be included in 1.1.9.Final.<span class=""><br>
<br>
-Eric<br>
<br>
On 9/14/2015 11:35 AM, Fadi Abdin wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
Things get to work for a while and break ..  Is anyone using apiman in<br>
production yet ??  I&#39;m wondering how reliable it is to be used yet .. i<br>
can not get it to be stable for a week without problems ..<br>
<br>
java.lang.ClassCastException: io.apiman.plugins.keycloak_oauth_policy.beans.KeycloakOauthConfigBean cannot be cast to io.apiman.plugins.keycloak_oauth_policy.beans.KeycloakOauthConfigBean<br>
        at io.apiman.plugins.keycloak_oauth_policy.KeycloakOauthPolicy.doApply(KeycloakOauthPolicy.java:48)<br>
        at io.apiman.gateway.engine.policies.AbstractMappedPolicy.apply(AbstractMappedPolicy.java:71)<br>
        at io.apiman.gateway.engine.policy.RequestChain.applyPolicy(RequestChain.java:65)<br>
        at io.apiman.gateway.engine.policy.Chain.doApply(Chain.java:148)<br>
        at io.apiman.plugins.cors_policy.CorsPolicy.doApply(CorsPolicy.java:88)<br>
        at io.apiman.plugins.cors_policy.CorsPolicy.doApply(CorsPolicy.java:40)<br>
        at io.apiman.gateway.engine.policies.AbstractMappedPolicy.apply(AbstractMappedPolicy.java:71)<br>
        at io.apiman.gateway.engine.policy.RequestChain.applyPolicy(RequestChain.java:65)<br>
        at io.apiman.gateway.engine.policy.Chain.doApply(Chain.java:148)<br>
        at io.apiman.gateway.engine.impl.ServiceRequestExecutorImpl$2.handle(ServiceRequestExecutorImpl.java:247)<br>
        at io.apiman.gateway.engine.impl.ServiceRequestExecutorImpl$2.handle(ServiceRequestExecutorImpl.java:198)<br>
        at io.apiman.gateway.engine.impl.ServiceRequestExecutorImpl$5.handle(ServiceRequestExecutorImpl.java:392)<br>
        at io.apiman.gateway.engine.impl.ServiceRequestExecutorImpl$5.handle(ServiceRequestExecutorImpl.java:362)<br>
        at io.apiman.gateway.engine.policy.PolicyFactoryImpl.loadPolicy(PolicyFactoryImpl.java:81)<br>
        at io.apiman.gateway.engine.impl.ServiceRequestExecutorImpl.loadPolicies(ServiceRequestExecutorImpl.java:362)<br>
        at io.apiman.gateway.engine.impl.ServiceRequestExecutorImpl.access$1400(ServiceRequestExecutorImpl.java:77)<br>
        at io.apiman.gateway.engine.impl.ServiceRequestExecutorImpl$3.handle(ServiceRequestExecutorImpl.java:270)<br>
        at io.apiman.gateway.engine.impl.ServiceRequestExecutorImpl$3.handle(ServiceRequestExecutorImpl.java:255)<br>
        at io.apiman.gateway.engine.impl.SecureRegistryWrapper$1.handle(SecureRegistryWrapper.java:107)<br>
        at io.apiman.gateway.engine.impl.SecureRegistryWrapper$1.handle(SecureRegistryWrapper.java:97)<br>
        at <a href="http://io.apiman.gateway.engine.es" target="_blank">io.apiman.gateway.engine.es</a>.CachingESRegistry.getService(CachingESRegistry.java:175)<br>
        at io.apiman.gateway.engine.impl.SecureRegistryWrapper.getService(SecureRegistryWrapper.java:97)<br>
        at io.apiman.gateway.engine.impl.ServiceRequestExecutorImpl.execute(ServiceRequestExecutorImpl.java:254)<br>
        at io.apiman.gateway.platforms.servlet.GatewayServlet.doAction(GatewayServlet.java:236)<br>
        at io.apiman.gateway.platforms.servlet.GatewayServlet.doGet(GatewayServlet.java:82)<br>
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)<br>
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)<br>
        at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)<br>
        at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61)<br>
        at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)<br>
        at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)<br>
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)<br>
        at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)<br>
        at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:56)<br>
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)<br>
        at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45)<br>
        at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:63)<br>
        at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)<br>
        at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70)<br>
        at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)<br>
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)<br>
        at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)<br>
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)<br>
        at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)<br>
        at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:261)<br>
        at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:247)<br>
        at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:76)<br>
        at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:166)<br>
        at io.undertow.server.Connectors.executeRootHandler(Connectors.java:197)<br>
        at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:759)<br>
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)<br>
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)<br>
        at java.lang.Thread.run(Thread.java:745)<br>
<br>
<br>
<br></div></div><span class="">
_______________________________________________<br>
Apiman-user mailing list<br>
<a href="mailto:Apiman-user@lists.jboss.org" target="_blank">Apiman-user@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/apiman-user" rel="noreferrer" target="_blank">https://lists.jboss.org/mailman/listinfo/apiman-user</a><br>
<br>
</span></blockquote>
</blockquote></div><br></div>