使用tuscany对外发布service时启动报错,错误如下:
对比之前的启动日志,是EventClassService注册之后报错,下一个应该注册EventService,而这个service之前一直是好的,本次是新增了一个方法。反复校验新增的方法没有错误,更要命的是这个启动报错是偶现。
因为这个类之前一直是对的,所以把重点放在了新增部分是否有错上,方向错了,最终没能发现问题。后来再次查看错误日志,从报错入手,查到报错地方源码:
void writeUTF(String s, long utflen) throws IOException {
if (utflen > 0xFFFFL) {
throw new UTFDataFormatException();
}
writeShort((int) utflen);
if (utflen == (long) s.length()) {
writeBytes(s);
} else {
writeUTFBody(s);
}
}
很明显这个是因为文件超过了大小。tuscany居然使用了这么个方法。至此问题发现,也容易解决了。应该是tuscany的一个bug这里。(
但是为什么是偶发呢。。。问题解决后没有再次发生)
无论如何,定位问题还是要从抛错日志触发,确定打出的不是根本原因再去考虑是否由其他原因引发。
还可以参考同类问题:
http://stackoverflow.com/questions/19638701/objectsave-causes-java-io-utfdataformatexception
- 大小: 34.6 KB
分享到:
相关推荐
<artifactId>protoc-gen-grpc-java</artifactId> <version>1.40.0</version> <packaging>pom</packaging> <name>io.grpc:grpc-compiler</name> <description>The protoc plugin for gRPC Java</description> ...
Java开发案例-springboot-12-集成socket.io服务端和客户端-源代码+文档.rar Java开发案例-springboot-12-集成socket.io服务端和客户端-源代码+文档.rar Java开发案例-springboot-12-集成socket.io服务端和客户端-源...
-下载后解压zip包,将commons-fileupload-1.1.1.jar,和commons-io-1.2.jar(这里我们用的是更新的版本,但是用法是一样的)复制到tomcat的webapps\你的webapp\WEB-INF\lib\下,如果目录不存在请自建目录。 新建一个...
<!-- 串口jar --> <dependency> <groupId>gnu.io</groupId> <artifactId>com-lib</artifactId> <version>2.2</version> </dependency>
<artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> <exclusions> <exclusion> <groupId>io.swagger</groupId> <artifactId>swagger-annotations</artifactId> </exclusion> <exclusion...
<artifactId>java-ipfs-api</artifactId> <version>1.3.3</version> </dependency> </dependencies> 创建节点 IPFS ipfs = new IPFS(new MultiAddress("/ip4/127.0.0.1/tcp/8888")); 初始化IPFS 加载 ipfs....
<groupId>io.searchbox</groupId> <artifactId>jest</artifactId> <version>6.3.1</version> </dependency> <!-- https://mvnrepository.com/artifact/org.elasticsearch/elasticsearch --> <dependency...
Socket.IO Java 这是从移植的Java Socket.IO服务器库... < artifactId>socket.io-server</ artifactId> < version>3.0.1</ version> </ dependency> </ dependencies> Gradle 将其作为gradle依赖项添加到build.gradl
《Java IO流详解与commons-io-1.4.jar库的应用》 在Java编程语言中,IO(Input/Output)流是一组用于数据传输的类,它们允许程序读取和写入数据,无论是从磁盘、网络还是其他输入输出设备。Java的IO流系统是一个...
`commons-io-2.5.jar` 是Apache Commons项目的一部分,它提供了一系列增强和扩展了Java标准IO库的类和方法。这个库为开发者提供了更高效、更便捷的方式来执行常见的文件、目录和流操作。 一、Java IO 基础 Java IO ...
Java高级-----Java-IO系统.ppt
Engine.IO客户端Java ...< dependencies> < dependency> < groupId>io.socket</ groupId> < artifactId>engine.io-client</ artifactId> < version>2.0.0</ version> </ dependency></ dependencies> Gradle在build.gr
基于java的开发源码-异步IO框架 Cindy.zip 基于java的开发源码-异步IO框架 Cindy.zip 基于java的开发源码-异步IO框架 Cindy.zip 基于java的开发源码-异步IO框架 Cindy.zip 基于java的开发源码-异步IO框架 Cindy.zip ...
<filter-name>encoding</filter-name> <filter-class>filter.Encode</filter-class> </filter> <filter-mapping> <filter-name>encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ``` ...
List<FileItem> items = upload.parseRequest(request); for (FileItem item : items) { if (!item.isFormField()) { String fileName = item.getName(); // 处理文件 } } ``` **Apache Commons IO** `...
1.3.8 包(<br><br>antlr-2.7.2.jar<br>bsf-2.3.0.jar<br>commons-beanutils-1.7.0.jar<br>commons-chain-1.1.jar<br>commons-digester-1.8.jar<br>commons-fileupload-1.1.1.jar<br>commons-io-1.1.jar<br>commons-...
串口通讯需要的jar包,gnu.io.SerialPort; gnu.io.CommPortIdentifier; gnu.io.SerialPort; gnu.io.SerialPortEvent; gnu.io.SerialPortEventListener; gnu.io.... <JAVA_HOME>\jre\bin
List<FileItem> items = upload.parseRequest(request); for (FileItem item : items) { if (!item.isFormField()) { String fileName = new File(item.getName()).getName(); File storeFile = new File...
<artifactId>socket.io-client</artifactId> <version>1.1</version> </dependency> Gradle: compile group: "com.github.haruntuncay", name: "socket.io-client", version: "1.1" 用法和API 该库使用...
`commons-fileupload-1.2.1.jar` 和 `commons-io-1.3.2.jar` 是两个重要的库,它们提供了处理文件上传的核心功能。下面我们将深入探讨这两个库及其在SpringMVC中的应用。 首先,`commons-fileupload-1.2.1.jar` 是...