service - 定义自定义托管服务失败

标签 service managed intershop

我们正在尝试按照食谱开发自定义 Intershop 托管服务:https://support.intershop.com/kb/index.php/Display/2329T4 但是,当尝试在我们的组织的操作中启用服务时,该服务未在那里列出,并且有一条警告日志消息:

WARN  localhost ES1 appserver0 [Test-Site]  com.intershop.component.service.internal.service.ORMServiceConfigurationBORepositoryImpl [] [Storefront] [8ocH1vmRUp4E1qKOZQQC5FFRtQai9r4QV6dAV1yx] [oBlLAFsfl5kFMqjA-0-00] "oBlLAFsfl5kFMqjA-0-00" Can't load implementation for service definition: cartridge='service_esb', service definition id='ESBServiceDefinition'. 

这是 services.compoment:

<?xml version="1.0" encoding="UTF-8"?>
<components xmlns="http://www.intershop.de/component/2010">
  <!-- Adapter interface -->
  <contract name="ESBService" class="com.test.service.capi.ESBService" />

  <!-- ServiceDefintion implementation -->
  <implementation name="ESBServiceDefinitionImpl" class="com.test.service.internal.ESBServiceDefinition" implements="ServiceDefinition" />

  <!-- ServiceDefintion instance that has already one adapter added -->
  <instance name="ESBServiceDefinition" with="ESBServiceDefinitionImpl" />

  <!-- Registering the ServiceDefintion instance to the (global) ServiceDefinitionRegistry -->
  <fulfill requirement="serviceDefinition" of="serviceDefinitionRegistry">
    <instance with="ServiceDefinitionRegistry.Entry">
      <fulfill requirement="cartridgeID" value="service_esb" />
      <fulfill requirement="groupID" value="service.group.name.test" />
      <fulfill requirement="parameterGroupID" value="ESBParameters" />
      <fulfill requirement="serviceDefinitionID" value="esbService" />
      <fulfill requirement="localizationKeyForName" value="service.definition.name.esbService" />
      <fulfill requirement="serviceDefinition" with="ESBServiceDefinition" />
      <fulfill requirement="ChainElementID" value="LogHandler" />
      <fulfill requirement="ChainElementID" value="MonitorHandler" />
    </instance>
  </fulfill>
</components>

所有必需的类(AdapterInterface、Adapter、ExecutorService、ServiceDefinition - 扩展 AbstractServiceDefinition)均已成功实现和编译。有人知道为什么 Intershop 无法加载实现吗?

此外,在 Intershop Studio 的组件编辑器中打开 services.component 时会显示以下错误:

With 'Implementation - ESBServiceDefinitionImpl (unresolved)' cannot be resolved

但是当在“ESBServiceDefinitionImpl”上单击 CTRL+鼠标左键时,找到了实现并且

<implementation name="ESBServiceDefinitionImpl" class="com.test.service.internal.ESBServiceDefinition" implements="ServiceDefinition" />

突出显示。

最佳答案

当然,这是拼写错误:)我将 service.component 的文件夹命名为“组件”,而不是“组件”。 谢谢大家的帮助!

关于service - 定义自定义托管服务失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50814338/

相关文章:

.net - C++ 托管和非托管静态库

c++ - XOR 在 C++ 管理的调试和安装版本之间表现不一致

java - Intershop 对象接线如何工作

intershop - 从 ISML 渲染 PDF 并检索二进制数据

linux - centOS 6.6 和 centos 7 : auto restart a service if it stopped

linux - 从 systemd 服务调用 "top"命令

rest - RESTful Web 服务的 CAS 身份验证

android - 从服务检测屏幕方向变化

.net - 为什么我的多线程 C++ .NET 应用程序只有在 visual studio 之外执行时才会崩溃?