[发明专利]一种EJB调用参数传递方法及相关装置在审
申请号: | 201810555401.1 | 申请日: | 2018-06-01 |
公开(公告)号: | CN108897629A | 公开(公告)日: | 2018-11-27 |
发明(设计)人: | 杨传艳;温尚卓;高隆林;赵欣;翟鲁超 | 申请(专利权)人: | 山东中创软件商用中间件股份有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 250014 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 传递参数 传递 参数传递 调用参数 引用 计算机可读存储介质 中间件产品 兼容参数 相关装置 应用程序 预先设置 远程调用 兼容性 中间件 失败 兼容 迁移 配置 | ||
本发明公开了一种EJB调用参数传递方法、系统、装置及计算机可读存储介质,其中可以在确定待传递参数为远程调用方式时,利用兼容方法实现待传递参数的传递,即首先对待传递参数以值方式进行传递,并判断是否失败,当失败时,判断对应该待传递参数是否预先设置了对应的JVM兼容参数,如果设置了,则说明该待传递参数需要以引用方式进行传递,则将待传递参数通过引用方式传递。因此,在参数传递过程中只需要中间件产品对待传递参数进行判断,就可以将其利用值传递或者引用方式传递,实现了参数传递的兼容性,且不需要更改应用程序的配置,方便了值传递过程,进而方便了中间件的迁移过程。
技术领域
本发明涉及中间件技术领域,更具体地说,涉及一种EJB调用参数传递方法、系统、装置及计算机可读存储介质。
背景技术
在国产化大潮下,基础中间件应用服务器在逐步替换国际产品,在中间件替换过程中,会出现很多应用迁移问题,比如原有的老业务系统,采用EJB技术实现业务,在应用迁移到国产中间件的过程中,在同一JVM调用Remote接口时出现对象不能序列化的异常。
EJB应用可以发布为远程调用和本地调用。当客户端与服务端的EJB对象在同一个JVM进程中,就是本地调用,需要用@Local注解声明,此时参数可通过引用进行传递。当客户端与服务端的EJB对象不在同一个JVM进程中,就是远程调用,需要用@Remote声明。当然,如果EJB对象声明成@Remote,则客户端和EJB是否在同一个JVM进程中,都会以远程调用方式进行访问,且参数通过传值方式进行传递,如果参数是对象,则需要进行序列化;如果参数需要传引用则可通过修改应用系统的配置文件,增加参数。
有时,由于应用系统业务需求,在同一JVM进程中声明为@Remote接口EJB存在以下问题:
1)参数对象以值方式进行传递时,当参数是对象时,需对对象进行序列化。但有些第三方的类不能进行序列化,如Native方法、实现finalize()方法的类不能进行序列化,导致应用系统不能正常使用。
2)通过传引用的方式解决上述问题,但由于需要调整应用系统的配置,可能会影响其他业务功能点的正常使用。
因此,如何实现传值方式和传引用方式的兼容,是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种EJB调用参数传递方法、系统、装置及计算机可读存储介质,以实现传值方式和传引用方式的兼容。
为实现上述目的,本发明实施例提供了如下技术方案:
一种EJB调用参数传递方法,包括:
确定待传递参数对应的传递方式是否为远程调用方式;
若是,则判断将所述待传递参数以值方式进行传递是否失败;
若是,则判断是否预置有对应所述待传递参数的JVM兼容参数;
若是,则将所述待传递参数以引用方式进行传递。
其中,所述判断将所述待传递参数以值方式进行传递是否失败,包括:
判断将所述待传递参数以值方式进行传递是否抛出异常。
其中,所述判断将所述待传递参数以值方式进行传递是否失败,包括:
判断所述待传递参数是否存在未进行序列化的对象。
其中,所述判断将所述待传递参数以值方式进行传递是否失败,包括:
判断所述待传递参数的对象类中是否包括finalize()方法或native修饰的方法。
其中,所述判断是否预置有对应所述待传递参数的JVM兼容参数之后,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东中创软件商用中间件股份有限公司,未经山东中创软件商用中间件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810555401.1/2.html,转载请声明来源钻瓜专利网。