当前位置: 首页 > 知识库问答 >
问题:

在CAP应用程序上启用MTX,导致MegaClitedTestationLoader出现问题

丁振海
2023-03-14

我们试图在通过DwC Infra部署的CAP应用程序上启用MTX。在此更改中出现的问题的堆栈跟踪下方-


    ["org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.sap.cds.framework.spring.config.runtime.CdsRuntimeInitializer': Invocation of init method failed; nested exception is java.util.ServiceConfigurationError: com.sap.cloud.sdk.cloudplatform.connectivity.DestinationLoader: Provider com.sap.cloud.sdk.cloudplatform.connectivity.DwcDestinationLoader could not be instantiated","tat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1786)","tat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:602)","tat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524)","tat org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)","tat org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)","tat org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)","tat org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)","tat org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:944)","tat org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)","tat org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583)","tat org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145)","tat org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)","tat org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434)","tat org.springframework.boot.SpringApplication.run(SpringApplication.java:338)","tat org.springframework.boot.SpringApplication.run(SpringApplication.java:1343)","tat org.springframework.boot.SpringApplication.run(SpringApplication.java:1332)","tat com.sap.oneproc.masterdata.Application.main(Application.java:17)","tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)","tat java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)","tat java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)","tat java.base/java.lang.reflect.Method.invoke(Unknown Source)","tat org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)","tat org.springframework.boot.loader.Launcher.launch(Launcher.java:108)","tat org.springframework.boot.loader.Launcher.launch(Launcher.java:58)","tat org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)","Caused by: java.util.ServiceConfigurationError: com.sap.cloud.sdk.cloudplatform.connectivity.DestinationLoader: Provider com.sap.cloud.sdk.cloudplatform.connectivity.DwcDestinationLoader could not be instantiated","tat java.base/java.util.ServiceLoader.fail(Unknown Source)","tat java.base/java.util.ServiceLoader$ProviderImpl.newInstance(Unknown Source)","tat java.base/java.util.ServiceLoader$ProviderImpl.get(Unknown Source)","tat java.base/java.util.ServiceLoader$3.next(Unknown Source)","tat com.sap.cloud.sdk.cloudplatform.util.FacadeLocator$MockableInstance.getFacade(FacadeLocator.java:87)","tat com.sap.cloud.sdk.cloudplatform.util.FacadeLocator.getFacade(FacadeLocator.java:170)","tat com.sap.cloud.sdk.cloudplatform.connectivity.DestinationAccessor.initDestinationLoader(DestinationAccessor.java:85)","tat com.sap.cloud.sdk.cloudplatform.connectivity.DestinationAccessor.<clinit>(DestinationAccessor.java:33)","tat com.sap.requisitioning.dwc.mtx.DwcMtxDestinationConfiguration.initializeDestinations(DwcMtxDestinationConfiguration.java:40)","tat com.sap.cds.services.impl.handlerregistry.HandlerRegistryTools$DescribedHandler.process(HandlerRegistryTools.java:165)","tat com.sap.cds.services.impl.ServiceImpl.dispatch(ServiceImpl.java:188)","tat com.sap.cds.services.impl.ServiceImpl.lambda$dispatchInChangeSetContext$2(ServiceImpl.java:170)","tat com.sap.cds.services.impl.runtime.ChangeSetContextRunnerImpl.lambda$run$0(ChangeSetContextRunnerImpl.java:38)","tat com.sap.cds.services.impl.runtime.ChangeSetContextRunnerImpl.run(ChangeSetContextRunnerImpl.java:24)","tat com.sap.cds.services.impl.runtime.ChangeSetContextRunnerImpl.run(ChangeSetContextRunnerImpl.java:37)","tat com.sap.cds.services.impl.ServiceImpl.dispatchInChangeSetContext(ServiceImpl.java:170)","tat com.sap.cds.services.impl.ServiceImpl.lambda$emit$1(ServiceImpl.java:158)","tat com.sap.cds.services.impl.runtime.RequestContextRunnerImpl.lambda$run$1(RequestContextRunnerImpl.java:152)","tat com.sap.cds.services.impl.runtime.RequestContextRunnerImpl.run(RequestContextRunnerImpl.java:169)","tat com.sap.cds.services.impl.runtime.RequestContextRunnerImpl.run(RequestContextRunnerImpl.java:151)","tat com.sap.cds.services.impl.ServiceImpl.emit(ServiceImpl.java:154)","tat com.sap.cds.services.ServiceDelegator.emit(ServiceDelegator.java:52)","tat com.sap.cds.services.impl.application.ApplicationLifecycleServiceImpl.applicationPrepared(ApplicationLifecycleServiceImpl.java:19)","tat com.sap.cds.framework.spring.config.runtime.CdsRuntimeInitializer.lambda$afterPropertiesSet$4(CdsRuntimeInitializer.java:117)","tat java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)","tat java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)","tat java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)","tat java.base/java.util.concurrent.ConcurrentHashMap$ValueSpliterator.forEachRemaining(Unknown Source)","tat java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)","tat java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)","tat java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)","tat java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)","tat java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)","tat java.base/java.util.stream.ReferencePipeline.forEach(Unknown Source)","tat com.sap.cds.framework.spring.config.runtime.CdsRuntimeInitializer.afterPropertiesSet(CdsRuntimeInitializer.java:117)","tat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1845)","tat org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1782)","t... 24 more","Caused by: java.lang.NullPointerException: Cannot invoke "com.google.gson.JsonPrimitive.getAsString()" because the return value of "com.google.gson.JsonObject.getAsJsonPrimitive(String)" is null","tat com.sap.cloud.sdk.cloudplatform.MegacliteConfigurationLoader.lambda$getMegacliteUriFromVcap$0(MegacliteConfigurationLoader.java:64)","tat java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)","tat java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)","tat java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)","tat java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)","tat java.base/java.util.Spliterators$IteratorSpliterator.tryAdvance(Unknown Source)","tat java.base/java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source)","tat java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source)","tat java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)","tat java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)","tat java.base/java.util.stream.FindOps$FindOp.evaluateSequential(Unknown Source)","tat java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)","tat java.base/java.util.stream.ReferencePipeline.findFirst(Unknown Source)","tat com.sap.cloud.sdk.cloudplatform.MegacliteConfigurationLoader.getMegacliteUriFromVcap(MegacliteConfigurationLoader.java:65)","tat com.sap.cloud.sdk.cloudplatform.MegacliteConfigurationLoader.fromVcapServices(MegacliteConfigurationLoader.java:43)","tat com.sap.cloud.sdk.cloudplatform.MegacliteConfigurationLoader.fromVcapServices(MegacliteConfigurationLoader.java:35)","tat com.sap.cloud.sdk.cloudplatform.DwcCfCloudPlatform.lambda$getOutboundProxyBinding$3(DwcCfCloudPlatform.java:299)","tat java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(Unknown Source)","tat com.sap.cloud.sdk.cloudplatform.DwcCfCloudPlatform.getOutboundProxyBinding(DwcCfCloudPlatform.java:308)","tat com.sap.cloud.sdk.cloudplatform.DwcCfCloudPlatform.getOutboundProxyBinding(DwcCfCloudPlatform.java:289)","tat com.sap.cloud.sdk.cloudplatform.connectivity.DwcDestinationLoader.getReuseDestinationServiceAdapter(DwcDestinationLoader.java:130)","tat com.sap.cloud.sdk.cloudplatform.connectivity.DwcDestinationLoader.getDefaultAdapters(DwcDestinationLoader.java:116)","tat com.sap.cloud.sdk.cloudplatform.connectivity.DwcDestinationLoader.<init>(DwcDestinationLoader.java:50)","tat java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)","tat java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)","tat java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)","tat java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)","t... 60 more"]

从上面的堆栈跟踪中,我们观察到文件MegacliteConfigurationLoader在解析vcapservices(环境变量)时出现空指针。在验证上述文件中的代码时,我们看到正在查找的参数是“instance name”,这是环境变量的一部分。

下面是使用的罐子和CF-环境变量的细节

<dependency>
    <groupId>com.sap.cloud.sdk.cloudplatform</groupId>
    <artifactId>dwc-cf</artifactId>
    <version>3.54.0</version>
</dependency>
user-provided": [
            {
                "label": "user-provided",
                "name": "jupiter",
                "tags": [],
                "instance_guid": "uuid",
                "instance_name": "jupiter",
                "binding_guid": "uuid",
                "binding_name": null,
                "credentials": {
                    "desc": "Oneproc Jupiter",
                    "url": "https://jupiter-xxxx.cfapipath.ondemand.com"
                },
                "syslog_drain_url": "",
                "volume_mounts": []
            },
            {
                "label": "user-provided",
                "name": "megaclite",
                "tags": [],
                "instance_guid": "uuid",
                "instance_name": "megaclite",
                "binding_guid": "uuid",
                "binding_name": null,
                "credentials": {
                    "desc": "Megaclite",
                    "url": "https://megaclite-xxxx.cert.cfapipath.ondemand.com"
                },
                "syslog_drain_url": "",
                "volume_mounts": []
            }
        ]

共有1个答案

齐琦
2023-03-14

此问题已解决,请更新到SAP Cloud SDK的版本3.59.0

 类似资料:
  • 所以我使用IntelliJ,并使用JavaFX构建了我的应用程序。但当我开始我的主要工作时: 我得到以下错误,我不知道这些错误来自哪里。。。在我切换github上的分支并重新设置所有配置之前,一切都很正常。。。 我得到的错误:

  • 我在启动嵌入式tomcat服务器后,在我的Spring启动应用程序中添加了Java旋律配置,我得到了以下错误: 应用程序无法启动 描述: 应用程序上下文中的5个bean之间存在循环依赖关系: activeOrderController(字段私有om.gov.moh.nehr.service.ActiveOrderServiceom.gov.moh.nehr.controller.ActiveOrd

  • 我有一个应用程序与,我第一次创建表没有问题,但当我再次启动它时,我有一个我无法解决的问题。 这是错误: 我尝试了以下方法,但未能解决问题: - - - 但我试过的方法都没有解决这个问题。我如何解决这个问题才能顺利启动应用程序?

  • 所以我有安装了Qt addin的Visual Studio 2013(社区版),Qt5库(32位),我试图创建一个独立于所有开发配置的可执行文件(它可能使用静态或共享库,我现在真的不在乎)。 操作系统:Windows7,x64。 为此,我将visual studio选项从更改为,并在

  • 当启动Confluence插件时,我总是得到以下错误: 我已经尝试了几个插件和Windows,Mac和Ubuntu。不幸的是,我总是在启动当前和旧的SDK时遇到这个错误。我已经尝试了Oracle和OpenJdk,都是版本8。结果是一个404页面时调用http://127.0.0.1:1990/confluence 我的环境 Tomcat日志不包含任何错误。。。 你有同样的问题吗,或者你知道解决方法

  • > //这是我的java代码,firebase部分仅在以下条件下工作正常(requestCode==102){br>//imageuri=data.getData(); imageuri;public static final int PICK\u IMAGE=1@重写受保护的void onCreate(Bundle savedInstanceState){super.onCreate(saved