service - 定义自定义托管服务失败
问题描述
我们正在尝试按照说明书开发自定义 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 命名文件夹“组件”,而不是“组件”。谢谢大家的帮助!
推荐阅读
- python - 查找数据框列中的第一个值大于另一个
- python - 无法在python中导入文件
- reactjs - react项目中不同版本的material-ui/icons可以添加哪些图标?
- c - 如何在 cJSON 中测试布尔值是否为真/假
- python-3.x - 使用帮助功能后如何在mac终端返回ipython
- ruby-on-rails - 如果 Ruby 支持开放类,为什么 Rails 项目中的类会被同名的 Gem 类覆盖?
- ios - 将 xcode 更新到 9.4 后,react native ios build 失败。错误是“NSInteger”类型的值
- heroku - Heroku 中的 CLI 编辑器?
- sockets - 如何区分套接字句柄和文件句柄
- sql - SQL 查询以从不同日期的值中提取大约 90 天的值