分佈式事務seata啓動報 - not support register type: null

在做分佈式事務seata版本升級的時候報錯,內容如下:

Exception in thread "main" io.seata.common.exception.NotSupportYetException: not support register type: null
	at io.seata.config.ConfigurationFactory.buildConfiguration(ConfigurationFactory.java:80)
	at io.seata.config.ConfigurationFactory.getInstance(ConfigurationFactory.java:65)
	at io.seata.server.metrics.MetricsManager.init(MetricsManager.java:49)
	at io.seata.server.Server.main(Server.java:56)
Caused by: java.lang.IllegalArgumentException: illegal type:null
	at io.seata.config.ConfigType.getType(ConfigType.java:62)
	at io.seata.config.ConfigurationFactory.buildConfiguration(ConfigurationFactory.java:78)
	... 3 more

這個是因爲分佈式事務在啓動的時候環境變量 SEATA_CONFIG_ENV 的配置問題,解決有兩種方法:一個是先聲明環境變量,然後把registry.conf 文件改成 registry-環境變量.conf,然後啓動;二是提起在配置文件中修改,啓動時候直接加載配置即可。

我這邊採用的是第一種:

echo "export SEATA_CONFIG_ENV=dev" >> /etc/profile
source /etc/profile
mv registry.conf registry-dev.conf

##啓動,端口是我自己在file.conf 文件修改的,默認是8091
nohup sh seata-server.sh --host 192.168.16.190 --port 8092 &

在這裏插入圖片描述
在這裏插入圖片描述

在啓動jar包的時候這邊是通過環境變量的方式來連接各個環境的分佈式事務,啓動腳本如下:

#!/bin/sh
export SEATA_CONFIG_ENV=dev
nohup java -jar -Xms512m -Xmx1024m  test-service.jar -DseataConfigEnv=dev &

在java源碼裏面,要指定不通環境的配置文件:
在這裏插入圖片描述

### cat file-dev.conf 
transport {
  # tcp udt unix-domain-socket
  type = "TCP"
  #NIO NATIVE
  server = "NIO"
  #enable heartbeat
  heartbeat = true
  #thread factory for netty
  thread-factory {
    boss-thread-prefix = "NettyBoss"
    worker-thread-prefix = "NettyServerNIOWorker"
    server-executor-thread-prefix = "NettyServerBizHandler"
    share-boss-worker = false
    client-selector-thread-prefix = "NettyClientSelector"
    client-selector-thread-size = 1
    client-worker-thread-prefix = "NettyClientWorkerThread"
    # netty boss thread size,will not be used for UDT
    boss-thread-size = 1
    #auto default pin or 8
    worker-thread-size = 8
  }
}
service {
  #vgroup->rgroup
  vgroup_mapping.ocss-service="default"
  #only support single node
  default.grouplist = "0.0.0.0:8092"
  #degrade current not support
  enableDegrade = false
  #disable
  disable = false
  disableGlobalTransaction = false
}

client {
  async.commit.buffer.limit = 10000
  lock {
    retry.internal = 10
    retry.times = 30
  }
}

### cat registry-dev.conf 
registry {
  # file 、nacos 、eureka、redis、zk
  type = "file"

  nacos {
    serverAddr = "localhost"
    namespace = "public"
    cluster = "default"
  }
  file {
    name = "file-dev.conf"
  }
}

config {
  # file、nacos 、apollo、zk
  type = "file"
  file {
    name = "file-dev.conf"
  }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章