Comments (15)
奇怪的是,即使在java 11中,我在生产中也有这个错误,但在开发中没有。我有点糊涂了。
com.alibaba.fastjson.JSONException: can not get javaBeanDeserializer. java.lang.Integer
at com.alibaba.fastjson.util.TypeUtils.castToJavaBean(TypeUtils.java:1551)
at com.alibaba.fastjson.util.TypeUtils.cast(TypeUtils.java:1103)
at com.alibaba.fastjson.util.TypeUtils.castToJavaBean(TypeUtils.java:1062)
at com.alibaba.fastjson.JSONObject.getObject(JSONObject.java:163)
at org.noear.solon.serialization.fastjson.FastjsonJsonActionExecutor.changeValue(FastjsonJsonActionExecutor.java:57)
at org.noear.solon.core.handle.ActionExecutorDefault.buildArgs(ActionExecutorDefault.java:96)
at org.noear.solon.core.handle.ActionExecutorDefault.execute(ActionExecutorDefault.java:42)
from solon.
事实上,我意识到,当我们使用maven包,并启动创建的jar时。
java - jar solonServer.jar
然后我们得到javaBeanDeserializer错误
现在,如果我们直接从maven运行服务器
mvn exec:java -Dexec.mainClass="com.test.Server"
因此,这一切都很有效。
from solon.
工作时的日志
mvn exec:java -Dexec.mainClass="com.test.Server
[Solon] App: Start loading
[Solon] jar:file:/root/.m2/repository/org/noear/solon.boot.socketd.smartsocket/1.8.0/solon.boot.socketd.smartsocket-1.8.0.jar!/META-INF/solon/solon.boot.socketd.smartsocket.properties
[Solon] jar:file:/root/.m2/repository/org/noear/solon.socketd.client.smartsocket/1.8.0/solon.socketd.client.smartsocket-1.8.0.jar!/META-INF/solon/solon.socketd.client.smartsocket.properties
[Solon] jar:file:/root/.m2/repository/org/noear/solon.socketd/1.8.0/solon.socketd-1.8.0.jar!/META-INF/solon/solon.extend.socketd.properties
[Solon] jar:file:/root/.m2/repository/org/noear/nami.channel.socketd/1.8.0/nami.channel.socketd-1.8.0.jar!/META-INF/solon/org.noear.nami.channel.socketd.properties
[Solon] jar:file:/root/.m2/repository/org/noear/solon.serialization.fastjson/1.8.0/solon.serialization.fastjson-1.8.0.jar!/META-INF/solon/solon.serialization.fastjson.properties
[Solon] jar:file:/root/.m2/repository/org/noear/nami/1.8.0/nami-1.8.0.jar!/META-INF/solon/org.noear.nami.properties
[Solon] View: mapping: @json=StringSerializerRender#FastjsonSerializer
[Solon] View: mapping: @type_json=StringSerializerRender#FastjsonSerializer
[Solon] Server:main: SmartSocket 1.5(smartsocket-socketd)
smart-socket server started on port 28080,threadNum:16
smart-socket server config is IoServerConfig{readBufferSize=512, writeBufferSize=128, writeBufferCapacity=16, host='null', monitor=null, port=28080, backlog=1000, processor=org.noear.solon.boot.socketd.smartsocket.AioServerProcessor@12da0334, protocol=org.noear.solon.socketd.client.smartsocket.AioProtocol@66fbd88c, bannerEnabled=false, socketOptions=null, threadNum=16, bufferFactory=org.smartboot.socket.buffer.BufferFactory$$Lambda$55/381544728@4ec2e38c, aioEnhance=true}
[Solon] Connector:main: smartsocket-socketd: Started ServerConnector@{[Socket]}{0.0.0.0:28080}
[Solon] Server:main: smartsocket-socketd: Started @21ms
[Solon] App: End loading elapsed=162ms pid=192454
不起作用时的日志
java - jar solonServer.jar
[Solon] App: Start loading
[Solon] jar:file:/root/solontest/solontest-0.0.1-SNAPSHOT.jar!/META-INF/solon/solon.boot.socketd.smartsocket.properties
[Solon] jar:file:/root/solontest/solontest-0.0.1-SNAPSHOT.jar!/META-INF/solon/solon.socketd.client.smartsocket.properties
[Solon] jar:file:/root/solontest/solontest-0.0.1-SNAPSHOT.jar!/META-INF/solon/solon.extend.socketd.properties
[Solon] jar:file:/root/solontest/solontest-0.0.1-SNAPSHOT.jar!/META-INF/solon/org.noear.nami.channel.socketd.properties
[Solon] jar:file:/root/solontest/solontest-0.0.1-SNAPSHOT.jar!/META-INF/solon/solon.serialization.fastjson.properties
[Solon] jar:file:/root/solontest/solontest-0.0.1-SNAPSHOT.jar!/META-INF/solon/org.noear.nami.properties
[Solon] View: mapping: @json=StringSerializerRender#FastjsonSerializer
[Solon] View: mapping: @type_json=StringSerializerRender#FastjsonSerializer
[Solon] Server:main: SmartSocket 1.5(smartsocket-socketd)
smart-socket server started on port 28080,threadNum:16
smart-socket server config is IoServerConfig{readBufferSize=512, writeBufferSize=128, writeBufferCapacity=16, host='null', monitor=null, port=28080, backlog=1000, processor=org.noear.solon.boot.socketd.smartsocket.AioServerProcessor@53f65459, protocol=org.noear.solon.socketd.client.smartsocket.AioProtocol@3b088d51, bannerEnabled=false, socketOptions=null, threadNum=16, bufferFactory=org.smartboot.socket.buffer.BufferFactory$$Lambda$51/1651855867@1786dec2, aioEnhance=true}
[Solon] Connector:main: smartsocket-socketd: Started ServerConnector@{[Socket]}{0.0.0.0:28080}
[Solon] Server:main: smartsocket-socketd: Started @13ms
[Solon] App: End loading elapsed=95ms pid=192874
com.alibaba.fastjson.JSONException: can not get javaBeanDeserializer. java.lang.Integer
at com.alibaba.fastjson.util.TypeUtils.castToJavaBean(TypeUtils.java:1551)
at com.alibaba.fastjson.util.TypeUtils.cast(TypeUtils.java:1103)
at com.alibaba.fastjson.util.TypeUtils.castToJavaBean(TypeUtils.java:1062)
at com.alibaba.fastjson.JSONObject.getObject(JSONObject.java:163)
at org.noear.solon.serialization.fastjson.FastjsonJsonActionExecutor.changeValue(FastjsonJsonActionExecutor.java:57)
at org.noear.solon.core.handle.ActionExecutorDefault.buildArgs(ActionExecutorDefault.java:96)
at org.noear.solon.core.handle.ActionExecutorDefault.execute(ActionExecutorDefault.java:42)
at org.noear.solon.core.handle.Action.callDo(Action.java:343)
at org.noear.solon.core.handle.Action.invoke0(Action.java:285)
at org.noear.solon.core.handle.Action.invoke(Action.java:215)
at org.noear.solon.core.handle.Action.handle(Action.java:194)
at org.noear.solon.core.route.RouterHandler.handleOne(RouterHandler.java:81)
at org.noear.solon.core.route.RouterHandler.handle(RouterHandler.java:46)
at org.noear.solon.SolonApp.doFilter(SolonApp.java:667)
at org.noear.solon.core.handle.FilterChainNode.doFilter(FilterChainNode.java:22)
at org.noear.solon.SolonApp.tryHandle(SolonApp.java:636)
at org.noear.solon.socketd.SocketContextHandler.handle(SocketContextHandler.java:31)
at org.noear.solon.socketd.RouterListener.onMessage0(RouterListener.java:114)
at org.noear.solon.socketd.RouterListener.lambda$onMessage$1(RouterListener.java:74)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.alibaba.fastjson.JSONException: can not get javaBeanDeserializer. java.lang.Integer
at com.alibaba.fastjson.util.TypeUtils.castToJavaBean(TypeUtils.java:1547)
... 23 more
from solon.
要不,你们把序列化框架换成:snack3 试试?
solon-rpc 默认用的就是:snack3
from solon.
感觉这个问题有2种可能:
- 本地 .m2 下缓存的包有问题
- 或者有可能,你独立引入了 fastjson 的包,但它的版本号与 solon 里的不一至
但,还是建议用 snack3 试试:)
from solon.
我不记得为什么我决定使用fastjson而不是snack3。snack3是否有相当于@JsonIgnore的功能?
from solon.
有两种方案:
- 用注解 @ONodeAttr(deserialize=false, serialize=false)
- 使用 java 关键字 transient
from solon.
先试试 snack3 (它是我的框架,我随时方便改;fastjson 是别人的,不能随时改动)
from solon.
我发现了我的问题。我有几个名字相同但参数不同的方法。这在java中是允许的,但在Solon RPC中不允许。我在调试问题的时候都快疯了!
from solon.
是的,我知道Snack3是你的框架。我将仔细研究一下。你能做这么多事,真令人吃惊!"。
再次感谢您的帮助。
from solon.
对。。。Solon RPC 不支持同名的函数:)
from solon.
现在全通了吗?
from solon.
这是我的一站式服务治理平台:https://github.com/noear/water
可以理解为微服务架构支持套件。5个服务包合计40m大小,超轻量级。功能相当于:consul + rabbitmq + elk + prometheus + openFaas + quartz +等等并有机结合在一起。对 k8s 友好,支持 ip 漂移、支持 k8s svc 映射。简单工作,早点下班:)
有空,也可以看看:)
from solon.
你有QQ或者微信的话,可以方便跟我随时交流。
from solon.
哇,你是一个真正的机器。好吧,我把这个链接加入书签。如果你愿意,我可以在我的下一个虫子上安装微信,如果你认为它更容易聊天的话。
否则,是的,票据问题就解决了。再次感谢!
from solon.
Related Issues (20)
- 任务发放:优化 onMissingBean 条件与 List[Bean] 注入的边界问题 HOT 2
- 同时有 queryString 和 from-data 参数时,Controller 方法中的参数无法正确注入 HOT 4
- 建议官网RPC未来支持高性能序列化框架-flatbuffers和simple-binary-encoding HOT 1
- Solon 框架可以增加Javalin容器支持 HOT 2
- 建议Solon 未来可以支持物联网MQTT协议 HOT 2
- 新增组件 Solon Cloud SnailJob HOT 2
- 申明:Solon 的社区活动主要在 GitEE(欢迎参与)
- 【任务发放】把 solon.test 里带的 HttpUtils 改为基于 smart-http 适配
- 【任务发放】添加 Solon Auth Server 模块
- 【任务发放】添加“@Destroy”注解支持 HOT 1
- 希望插件按需加载 HOT 2
- 希望增加热部署 HOT 5
- IOC包扫描时排队某些包 HOT 3
- 【任务发放】优化 List[Bean] 注入,支持排序 HOT 1
- 【任务发放】增加 @NamiService 注解,替代 @Remoting 注解(让 Nami 成为前后配套服务) HOT 1
- 建议未来nami RPC 支持-Aeron 协议、低延迟RPC
- 后扫描的包,依赖注入List对象为空 HOT 1
- 安卓中运行solon,发现bug HOT 6
- lettuce-solon-plugin native编译出来的包,无法注入配置 HOT 4
- controller接口输出数据添加GZIP压缩数据 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from solon.