flex&java通信错误之一:Server.resource.unavailable

本文探讨了Flex调用Java方法时出现“can't invoke method”错误的原因及解决办法,包括检查remoting-config.xml配置、确保Java类具有无参构造函数及方法为public等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

flex调用java发生如下错误:can't invoke method "×××",同时给出的fault code是Server.resource.unavailable

通常这种错误的原因就是因为找不到java对应的方法,可以用的解决方案有如下:

1.remoting-config.xml中没有定义或定义的类不对;

2.后台java类要有无参数构造函数,这点要注意当自己写一个有参数的构造函数同时也要写一个无参数函数。否则因为不能创建实例而在FlexFactory查找后台类时发生的;

3.后台java类的方法需要是public类型;

3.由于和spring结合了,还要在application_*.xml中定义。 

P.S. 我用了第二个方法解决了自己的问题,但是很奇怪,我有其它几个带参数的方法是没有对应的无参数方法,也可以正常的调用,特此记录下,留待继续研究。

转载于:https://www.cnblogs.com/iloveWater/archive/2011/09/20/2209750.html

### Java RocketMQ 发送消息时 ALPN 协议协商失败解决方案 当Java应用程序尝试通过RocketMQ发送消息并遇到`ExecutionException: StatusRuntimeException: UNAVAILABLE: io exception`错误以及ALPN协议协商失败问题时,这通常涉及到多个方面的原因。 #### 1. Nacos服务注册发现配置不当 Nacos作为微服务体系中的重要组件,在版本升级至2.0之后引入了新的端口需求(即除了默认的服务端口8848外还需要开放9848和9849用于gRPC通信),如果这些端口未被正确打开,则可能导致客户端无法正常访问Nacos集群从而间接影响到依赖于它的其他中间件如RocketMQ的工作状态[^5]。 为了确保Nacos能够顺利工作,建议确认防火墙设置已经允许上述提到的新端口,并且在应用层面上无需特别针对这两个新端口做额外的应用程序属性文件(`application.properties`)内的特殊配置。除非有特定的需求或者环境差异才考虑进一步调整[^4]。 #### 2. JVM参数缺失或不兼容 对于涉及TLS/SSL的安全连接场景下发生的ALPN握手失败情况,往往是因为JVM启动参数中缺少必要的选项来支持此功能。具体来说,应该保证使用的OpenJDK/JRE版本至少为1.8u261以上,并且包含了对HTTP/2的支持;同时需添加如下所示的相关JVM参数: ```bash -Djdk.tls.client.protocols=TLSv1.2 \ -Djava.security.properties=/path/to/java.security \ --add-modules=java.se --add-exports=java.base/jdk.internal.misc=ALL-UNNAMED \ --add-opens=java.base/java.lang=ALL-UNNAMED \ --add-opens=java.base/java.nio=ALL-UNNAMED \ --add-opens=java.base/sun.nio.ch=ALL-UNNAMMED \ --add-opens=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED \ --add-opens=javafx.graphics/com.sun.javafx.tk=ALL-UNNAMED \ -Djavax.net.ssl.trustStoreType=JKS \ -Djavax.net.debug=ssl,handshake,failure ``` 其中最重要的是确保启用了TLS v1.2及以上版本,并指定了信任库类型为JKS以便能正确处理证书验证过程[^1]。 另外值得注意的是,某些情况下即使设置了正确的JVM参数仍然会遭遇ALPN加载顺序的问题,这时可以尝试安装官方提供的[JCE Unlimited Strength Jurisdiction Policy Files](https://www.oracle.com/java/technologies/javase-jce-all-downloads.html),以解除加密算法强度上的限制。 #### 3. 应用间网络连通性不佳 考虑到RocketMQ本身是一个分布式的消息队列系统,其内部节点之间的通讯质量同样至关重要。任何一处链路不稳定都可能引发整体性能下降甚至完全不可用的情况发生。因此有必要检查从生产者机器出发能否无障碍地到达Broker及其他相关资源的位置,包括但不限于DNS解析准确性、路由可达性和延迟状况等方面[^2]。 此外还需关注是否存在第三方安全设备(比如WAF/Web Application Firewall)阻止了合法的数据交换活动的可能性,因为这类装置有时会对基于HTTPS/TLS的流量实施更为严格的审查机制而造成不必要的阻碍[^3]。 综上所述,要彻底解决这个问题需要综合考量多方面的因素,并逐一排查直至找到根本原因所在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值