WSO2:如何在 Kubernete 环境中使用配置注册表?

问题描述

我们在 VM 中使用 WSO2,并使用以下代码进行中介以将数据保存在注册表中

<script language="js"><![CDATA[
                importPackage(Packages.org.apache.synapse.config);
                mc.getConfiguration().getRegistry().newResource("/keycloak/keycloakkey-kid",false);
                mc.getConfiguration().getRegistry().updateResource("/keycloak/keycloakkey-kid",mc.getProperty("keycloakkey-kid"));
                mc.getConfiguration().getRegistry().newResource("/keycloak/keycloakkey-x5c",false);
                mc.getConfiguration().getRegistry().updateResource("/keycloak/keycloakkey-x5c",mc.getProperty("keycloakkey-x5c"));
                mc.getConfiguration().getRegistry().newResource("/keycloak/keycloakkey-timestamp",false);
                mc.getConfiguration().getRegistry().updateResource("/keycloak/keycloakkey-timestamp",mc.getProperty("current-system-time"));
                ]]>
            </script>

但是现在我在 Docker 和 Kubenete 环境中部署了相同的代码,这无法保存数据

Kubernete环境下如何使用registry?

我尝试了什么

在 deployment.yaml 中我添加了卷挂载

 volumeMounts:
            - mountPath: /keycloak/keycloakkey-kid
              name: keycloak
      volumes:
        - name: keycloak

并更改了js代码

 <script language="js"><![CDATA[
                importPackage(Packages.org.apache.synapse.config);
                mc.getConfiguration().getRegistry().newResource("/keycloak/keycloakkey-kid",mc.getProperty("current-system-time"));
                ]]>
            </script>

但仍然失败并出现错误

2021-06-21 16:15:42,576] ERROR {MicroIntegratorRegistry} - Couldn't create resource: keycloakkey-kid
[2021-06-21 16:15:42,577] ERROR {MicroIntegratorRegistry} - Error when adding a new resource org.apache.synapse.SynapseException: Couldn't create resource: keycloakkey-kid
        at org.wso2.micro.integrator.registry.MicroIntegratorRegistry.handleException(MicroIntegratorRegistry.java:655)
        at org.wso2.micro.integrator.registry.MicroIntegratorRegistry.createFile(MicroIntegratorRegistry.java:830)
        at org.wso2.micro.integrator.registry.MicroIntegratorRegistry.addResource(MicroIntegratorRegistry.java:813)
        at org.wso2.micro.integrator.registry.MicroIntegratorRegistry.newResource(MicroIntegratorRegistry.java:562)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
        at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:225)
        at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
        at org.mozilla.javascript.gen._UnkNown_Source__190._c_script_0(<UnkNown Source>:3)
        at org.mozilla.javascript.gen._UnkNown_Source__190.call(<UnkNown Source>)
        at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
        at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)
        at org.mozilla.javascript.gen._UnkNown_Source__190.call(<UnkNown Source>)
        at org.mozilla.javascript.gen._UnkNown_Source__190.exec(<UnkNown Source>)
        at com.sun.phobos.script.javascript.RhinoCompiledScript.eval(RhinoCompiledScript.java:55)
        at javax.script.CompiledScript.eval(CompiledScript.java:92)
        at org.apache.synapse.mediators.bsf.ScriptMediator.mediateForInlinescript(ScriptMediator.java:395)
        at org.apache.synapse.mediators.bsf.ScriptMediator.invokeScript(ScriptMediator.java:290)
        at org.apache.synapse.mediators.bsf.ScriptMediator.mediate(ScriptMediator.java:258)
        at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:109)
        at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71)
        at org.apache.synapse.config.xml.AnonymousListMediator.mediate(AnonymousListMediator.java:37)
        at org.apache.synapse.config.xml.SwitchCase.mediate(SwitchCase.java:69)
        at org.apache.synapse.mediators.filters.SwitchMediator.mediate(SwitchMediator.java:134)
        at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:109)
        at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71)
        at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
        at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:214)
        at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:109)
        at org.apache.synapse.mediators.filters.FilterMediator.mediate(FilterMediator.java:239)
        at org.apache.synapse.mediators.filters.FilterMediator.mediate(FilterMediator.java:244)
        at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:267)
        at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.mediateFromContinuationStateStack(Axis2SynapseEnvironment.java:809)
        at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:309)
        at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:583)
        at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:197)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
        at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:285)
        at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

[2021-06-21 16:15:42,581] ERROR {ScriptMediator} - {api:Orders} The script engine returned an error executing the inlined js script function mediate com.sun.phobos.script.util.ExtendedScriptException: org.mozilla.javascript.WrappedException: Wrapped org.apache.synapse.SynapseException: Error when adding a new resource (<UnkNown Source>#3) in <UnkNown Source> at line number 3
        at com.sun.phobos.script.javascript.RhinoCompiledScript.eval(RhinoCompiledScript.java:68)
        at javax.script.CompiledScript.eval(CompiledScript.java:92)
        at org.apache.synapse.mediators.bsf.ScriptMediator.mediateForInlinescript(ScriptMediator.java:395)
        at org.apache.synapse.mediators.bsf.ScriptMediator.invokeScript(ScriptMediator.java:290)
        at org.apache.synapse.mediators.bsf.ScriptMediator.mediate(ScriptMediator.java:258)
        at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:109)
        at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71)
        at org.apache.synapse.config.xml.AnonymousListMediator.mediate(AnonymousListMediator.java:37)
        at org.apache.synapse.config.xml.SwitchCase.mediate(SwitchCase.java:69)
        at org.apache.synapse.mediators.filters.SwitchMediator.mediate(SwitchMediator.java:134)
        at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:109)
        at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71)
        at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
        at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:214)
        at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:109)
        at org.apache.synapse.mediators.filters.FilterMediator.mediate(FilterMediator.java:239)
        at org.apache.synapse.mediators.filters.FilterMediator.mediate(FilterMediator.java:244)
        at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:267)
        at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.mediateFromContinuationStateStack(Axis2SynapseEnvironment.java:809)
        at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:309)
        at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:583)
        at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:197)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
        at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:285)
        at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: org.mozilla.javascript.WrappedException: Wrapped org.apache.synapse.SynapseException: Error when adding a new resource (<UnkNown Source>#3)
        at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1754)
        at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:148)
        at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:225)
        at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
        at org.mozilla.javascript.gen._UnkNown_Source__190._c_script_0(<UnkNown Source>:3)
        at org.mozilla.javascript.gen._UnkNown_Source__190.call(<UnkNown Source>)
        at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
        at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)
        at org.mozilla.javascript.gen._UnkNown_Source__190.call(<UnkNown Source>)
        at org.mozilla.javascript.gen._UnkNown_Source__190.exec(<UnkNown Source>)
        at com.sun.phobos.script.javascript.RhinoCompiledScript.eval(RhinoCompiledScript.java:55)
        ... 27 more
Caused by: org.apache.synapse.SynapseException: Error when adding a new resource
        at org.wso2.micro.integrator.registry.MicroIntegratorRegistry.handleException(MicroIntegratorRegistry.java:650)
        at org.wso2.micro.integrator.registry.MicroIntegratorRegistry.newResource(MicroIntegratorRegistry.java:564)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
        ... 36 more
Caused by: org.apache.synapse.SynapseException: Couldn't create resource: keycloakkey-kid
        at org.wso2.micro.integrator.registry.MicroIntegratorRegistry.handleException(MicroIntegratorRegistry.java:655)
        at org.wso2.micro.integrator.registry.MicroIntegratorRegistry.createFile(MicroIntegratorRegistry.java:830)
        at org.wso2.micro.integrator.registry.MicroIntegratorRegistry.addResource(MicroIntegratorRegistry.java:813)
        at org.wso2.micro.integrator.registry.MicroIntegratorRegistry.newResource(MicroIntegratorRegistry.java:562)
        ... 41 more

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)