This is the 23rd day of my participation in the August More Text Challenge
Recommend a very good kafka management platform, Kafka soul mate didi open source Logi-Kafkamanager one-stop Kafka monitoring and control platform
Pit 1 No available service ‘default’ found
i.s.c.r.netty.NettyClientChannelManager : No available service ‘null’ found, please make sure registry config correct or no available service ‘default’ found, please make sure registry config correct
The cause of this problem is that seata-server was not found;
1. Verify that seata-Server is started
2. Ensure that the connection configuration is correct when the client is started
Such as:seata-server
The registry selected is Redis;Configure cluster = default
Check the value of Redis after successful registrationVerify that the client configuration is correctIf all of the above is correct, but there is still a problem, please make sure you are manually configuredGlobalTransactionScanner
Verify that the txServiceGroup parameter is the same as the configuration. The following
Pit 2 com. Alibaba. Nacos. API. Exception. NacosException
Seata uses Nacos when using the registry, startup error reported
Caused by: java.lang.ClassNotFoundException: com.alibaba.nacos.api.exception.NacosException at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~ [na: 1.8.0 comes with _221] at Java lang. This. The loadClass (424). This Java: ~ [na: 1.8.0 comes with _221] the at Sun. Misc. The Launcher $AppClassLoader. LoadClass (349). The Launcher Java: ~ [na: 1.8.0 comes with _221] the at Java. Lang. This. LoadClass (357). This Java: ~ [na: 1.8.0 comes with _221]... 39 common frames omittedCopy the code
Seata-all is used when the corresponding JAR package is introduced<scope>provide</scope>
We need to introduce corresponding dependencies; Introduction on demand;
Similarly, if you use the Redis registry, you should also introduce the Redis client
<! If the registry chooses NACOS, import the following package --> <! -- https://mvnrepository.com/artifact/com.alibaba.nacos/nacos-client --> <dependency> <groupId> com.baba.nacos </groupId> <artifactId>nacos-client</artifactId> <version>1.3.0</version> </dependency> <! Clients </groupId> <artifactId>jedis</artifactId> The < version > 2.9.0 < / version > < / dependency >Copy the code
Pit 3 NotSupportYetException: NotSupport Register Type: null
During seATA’s introduction, the following error was reported during startup
nested exception is io.seata.common.exception.NotSupportYetException:
not support register type: null
io.seata.common.exception.ShouldNeverHappenException:
Can't find any object of class org.springframework.context.ApplicationContext
Copy the code
His reason isSpringApplicationContextProviderIt was not executed
Because mine is usingseata-spring-boot-starter
Mode to start; And then hand cheap configurationGlobalTransactionScanner
Then thisGlobalTransactionScanner
When I start loading,SpringApplicationContextProvider
It’s not being implemented;GlobalTransactionScanner
Need to depend onSpringApplicationContextProvider
, so the error was reported
Solutions:seata-spring-boot-starter
Mode boot has been automatically loadedGlobalTransactionScanner
见SeataAutoConfiguration
Annotate if you must manually load it yourself
@DependsOn({BEAN_NAME_SPRING_APPLICATION_CONTEXT_PROVIDER, BEAN_NAME_FAILURE_HANDLER})
Copy the code
However, manual configuration is not necessary
GlobalTransactionScanner needs to be configured manually when seata-all is used, but no additional operations are required when Seata-spring-boot-starter is used.
Pit 4 Can not register RM,err: Can not connect to services-server.
It had been fine before, but after a few days, I reported this error. Then I looked at the registry and registered several IP addresses. They are all registered before, I don’t know why they haven’t been cleared;
io.seata.common.exception.FrameworkException:
can not register RM,err:can not connect to services-server.
Copy the code
Solution: Delete the key and restart seata-server
5 the pit Could not initialize class IO. Seata. Rm. The datasource. Undo. $SingletonHolder UndoLogParserFactory
The following error was reported while accessing Seata
java.lang.NoClassDefFoundError:
Could not initialize class io.seata.rm.datasource.undo.UndoLogParserFactory$SingletonHolder
Copy the code
On the surface, it looks like that exception, but if you hit a breakpoint and look inside, you’ll see that the final exception is the one below
java.lang.NoClassDefFoundError:
com/fasterxml/jackson/databind/ObjectMapper
Copy the code
Solution: Just add the Jackson-Databind dependency
<! The undo serialization method selects which jar package to rely on --> <! -- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --> <dependency> < the groupId > com. Fasterxml. Jackson. Core < / groupId > < artifactId > Jackson - databind < / artifactId > < version > 2.11.0 < / version > </dependency>Copy the code
Didi open source Logi-Kafkamanager one-stop Kafka monitoring and control platform