2.1.1 升级 2.1.5 指导

org.apache.servicecomb.swagger.invocation.Response 属性 headers 类型调整

为了更好的和 HTTP 协议标准保持兼容, 将 Response 的 headers 类型由 org.apache.servicecomb.swagger.invocation.response.Headers 修改为 io.vertx.core.MultiMap, 同时删除了类 org.apache.servicecomb.swagger.invocation.response.Headers 以支持大小写无关的 HTTP header。 修改前 header 的 key 是区分大小写的, 修改后, 不区分大小写。 该调整也涉及到和 header 操作有关的 getter, setter 方法的调整,使用了老方法的地方会编译出错, 修改为对应的新方法即可。

swagger-generator-spring-data 调整

这个模块提供了 PagePagableOrder 等接口的序列化支持。2.1.5 升级了 spring boot 版本, 这些接口存在变更,因此序列化 结果发生了改变。 如果产品使用了这些类作为外部接口,需要考虑前端返回的 json 格式的变化对产品功能的影响。

foudation-common 调整

这个模块提供了将时间类型数据格式化的功能。在2.1.5版本中,升级了jackson-bom版本从2.10.5到2.12.1,导致时间数据类型格式化结果 产生了变更。例如:升级前格式化时间为2017-07-21T17:32:28.000+0000,升级后为2017-07-21T17:32:28.000+00:00。如果产品 使用了该类型数据,需要考虑升级后数据类型的变更,对原有业务逻辑的影响。

servicestage-environment 调整

这个模块只有一个 mapping.xml 文件,提供环境变量映射。原来的内容为:

PAAS_CSE_ENDPOINT:
  - servicecomb.service.registry.address
  - servicecomb.config.client.serverUri
PAAS_CSE_SC_ENDPOINT:
  - servicecomb.service.registry.address
PAAS_CSE_CC_ENDPOINT:
  - servicecomb.config.client.serverUri
PAAS_PROJECT_NAME:
  - servicecomb.credentials.project

CAS_APPLICATION_NAME:
  - servicecomb.service.application
CAS_COMPONENT_NAME:
  - servicecomb.service.name
CAS_INSTANCE_VERSION:
  - servicecomb.service.version

调整为

PAAS_CSE_ENDPOINT:
  - servicecomb.service.registry.address
  - servicecomb.config.client.serverUri
PAAS_CSE_SC_ENDPOINT:
  - servicecomb.service.registry.address
PAAS_CSE_CC_ENDPOINT:
  - servicecomb.config.client.serverUri
PAAS_PROJECT_NAME:
  - servicecomb.credentials.project

做这个调整是因为大部分业务场景,不需要覆盖应用名称、微服务名称和版本。 另外,微服务引擎还提供了 APP_MAPPING、SERVICE_MAPPING、VERSION_MAPING 来支持应用名称、微服务名称和版本的覆盖。