草庐IT

java - 将 CORBA 应用程序迁移到现代 Java 技术(Rest/SOAP/EJB)

我需要将遗留CORBA系统迁移到任何最新的Java技术。我面临的主要问题是在建议的系统中提供长期交易(db)。当前,客户端(SwingApp)保留CORBA服务对象并在实际提交/回滚所有txn之前执行多个dbtxn。服务层始终保持连接对象的状态以完成交易。我想在我的新系统(REST/WS)中重现这种机制,以便Swing客户端/Web(future)可以像现在一样工作。例如:try{service1.updateXXData();//-->insertintotableXXservice2.updateUUData()//-->insertintotableUUservice1.upda

java - 使用 JAVA (IOM Bridge) 将变量插入 SAS。我应该使用 CORBA stub 和 JDBC 还是有其他选择?

这是我的代码片段的一部分WorkspaceConnectorconnector=null;WorkspaceFactoryworkspaceFactory=null;StringvariableListString=null;PropertiessasServerProperties=newProperties();sasServerProperties.put("host",host);sasServerProperties.put("port",port);sasServerProperties.put("userName",userName);sasServerPropertie

java - 从 IDL 生成 java(避免默认包)

我正在处理一个大型遗留C++代码库,其中包含大量IDL文件,这些文件具有在任何模块外部声明的所有类型和常量。对于C++,这会导致代码生成到全局命名空间——丑陋,但可以接受。现在我正在尝试添加Java客户端以通过CORBA进行连接。然而,对于Java,从IDL(使用Java的Sun/OracleIDL编译器:idlj)生成的类型位于java默认包中,因为它们不是在IDL模块中。这会导致Java编译错误,因为从默认包导入是非法的。我正在寻找最简单的方法来解决问题。我考虑了以下几点:在所有类型周围放置一个模块声明。我目前正在研究这个解决方案,但根据受影响的类型数量和对大型遗留C++代码库的影

java.lang.NoClassDefFoundError : org/omg/CORBA/InterfaceDef 错误

当我调用java.lang.Class的方法getMethod时,我看到java.lang.NoClassDefFoundError:org/omg/CORBA/InterfaceDef。我正在尝试使用反射获取TMF特定jar的EmsSeeionFactory_I中的getEmsSession方法。但是当我检查jacorb.jar中的类时,org/omg/CORBA/InterfaceDef.class在类路径上可用。我在其他论坛上看到过,但在这些论坛中也没有看到相同问题的答案。看起来这个异常是从nativeVM代码抛出的。我现在毫headless绪。有任何想法吗?完整的堆栈跟踪如下j

java - 在客户端寻找 native java CORBA 的超时属性

我正在使用CORBA(ORB),它Java自带,没有使用第三方库。我需要CORBA客户端超时属性,以便在客户端设置超时并限制连接保持打开的时间量;它应该为所有场景设置,以限制最大请求时间:正在初始化连接重新绑定(bind)连接总请求时间我通过让服务器hibernate(在服务器方法逻辑内)进行测试,并且客户端根本没有超时。在网络上很难找到合适的文档;我尝试使用以下所有属性,但无济于事:aProperties.put("com.sun.CORBA.transport.ORBTCPReadTimeouts","100:300:3000:20");aProperties.put("com.s

java - RMI和CORBA的区别?

我正在为期末考试学习,有几个关于RMI和CORBA的问题。这些是从学习指南中提取的讨论问题,因此没有真正的应用背景。为什么RMI和CORBA基于TCP?问题说明要根据调用语义来回答。到目前为止,我的想法是TCP将比UDP更可靠,而在RMI/CORBA中,我们需要网络可靠性。我还在某处读到TCP深深嵌入了nativeJava网络类中。我对这个说法没有信心,因为CORBA可以用任何语言实现。讨论RMI和CORBA名称服务之间的区别。我对这个问题有点困惑,因为到目前为止我读到的是RMI和CORBA是融合技术,RMI可以访问CORBA对象。我现在的理解是,名称服务似乎非常相似,任何差异都不值得

java - Glassfish v3 中的 IIOP 客户端身份验证和 ProgrammaticLogin

在Glassfishv2中,我通过在ORB节点下的管理控制台中启用“IIOP客户端身份验证”复选框来保护我的JNDI查找。然后在我的独立客户端中执行“ProgrammaticLogin”,然后允许我执行JNDI查找。但是,在Glassfishv3中,如果想在同一设置中执行任何JNDI查找,我会收到此错误:18.08.201014:31:10com.sun.enterprise.transaction.JavaEETransactionManagerSimplifiedinitDelegatesINFO:Usingcom.sun.enterprise.transaction.jts.Ja

Java IDL : servertool does not register and hangs

我在JavaIDL中运行CORBA持久对象实现如JavaIDL:The"HelloWorld"Example我完全遵循了上面文章中的步骤我使用servertool来注册持久服务器,如示例所示。但是当我尝试使用那篇文章中的语法注册服务器时:servertool>注册-serverPersistentServer-applicationNames1-类路径path_to_server_class_files我挂了,没有做任何事情,然后我必须做ctrl+c回到正常模式这有什么问题吗?? 最佳答案 问题是你的JavaJDK安装路径包含空格。

c++ - Corba(例如 TAO)、Thrift、D-Bus、ICE 等框架的进程调用性能

我们正在尝试创建一个应用程序,其中的某些部分可能会分发,但不一定会分发。为此,我们希望使用现有框架进行远程调用。为了不重复执行所有操作,我们希望在同一台机器上的同一进程中对调用使用相同的东西。有谁知道在使用这样的框架而不是直接调用vtable时我们会得到的性能/延迟损失?有比较可用吗?系统应该在Windows和Linux上是可移植的问候托拜厄斯 最佳答案 omniORB很长一段时间以来,有一个直接调用的协同定位快捷方式,但从版本4开始,它有一个专有的POA策略,可以绕过更多所需的CORBA行为,使其几乎与直接虚拟调用一样快。查看om

c++ - 使用 C++ 附加 CORBA 序列的简单方法

我正在使用omniORB和C++。在我的应用程序中,我从不同的模块中获得了几个小的CORBA序列,然后我需要将它们组合成一个大序列以进行进一步处理。有简单的方法吗?类似于seq2.append(seq1)或seq2.push_back(seq1)。还是一些运营商?(我真的是STL方面的新手)。我找到的唯一方法是手动遍历小序列的每个元素并将其添加到大序列。//idlstructDevice;typedefsequenceDevicesList;//c++icore::DevicesListfull_list;foreach(constDStatusList&stlist,states_)