替代MICO Corba?

我们目前正在使用MICO建立服务器和客户端之间的通信,其中客户端是用C ++编写的模拟器,服务器是一个java程序,显示模拟中发生的动画。 似乎MICO的发展已经放缓到几乎停止,并且只允许我们破解它们的错误(因为我们没有时间首先弄清楚MICO的哪些部分负责代码生成等等)我们从取得真正的进步。 那么,你们中的任何一个人都知道有一个好的替代品吗? 我们希望有以下内容: 编译器可以从idl生成C ++和Java-Code。 该项目仍应表现出相当大的支持。 实施应该是开源的(GPL或BSD,或类似的东西),因为我们也使用我们的程序来教学生。 从MICO迁移应该尽可能简单。 (这不是一个很难的要求,但会是一件好事) 我发现了一些其他CORBA实现,例如TAO,但我没有发现任何我可以说它们仍然受支持。 如果我在这里错了,请纠正我。

将图像添加到Custom AlertDialog

我做了一个AlertDialog,让用户选择我显示的4个选项中的一个。 前三个让他们点击它时直接调用一个数字,第四个显示不同的视图。 这就是它现在的样子: 由于第四个选项的目的是一个不同的任务,我想让它看起来不同,因为用户可能会感到困惑。 我想在前3个选项旁边放一个’call-icon’,在第4个选项旁边放一个箭头。 现在仍然是我的问题; 如何将图像放在前3个选项旁边? 以下是创建对话框的代码: public void AlarmMenu(){ final CharSequence[] items = {“Politie”, “Ambulance”, “Brandweer”, “Tips >”}; AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setItems(items, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int item) { switch (item){ case 0: break; case 1: break; case 2: break; case 3: break; } } }); AlertDialog alert […]

平衡设计原则:unit testing

我正在写一个Bananagrams的模拟。 目前,我有一个GameMaster类,可以维护常见的碎片集合。 deal(Player)方法向该玩家交易一定数量的棋子。 我想为此编写unit testing。 但是,此时,我没有getter,因此无法检查对象的状态。 为什么不添加吸气剂? 我不想仅为测试添加代码到公共接口。 目前,没有其他理由公开这些function。 我该怎么办? 无论如何添加getter,混乱公共API(或希望将来需要它们)? 放弃unit testing? (听起来不错。) 或者,这是否表明我的公共界面存在缺陷?

从0.7升级到0.8.1.1后生成嵌入式kafka队列时出错

我找不到任何可以直接处理我所遇到的问题的东西,所以我在这里发帖。 我有JUnit / JBehave测试,它们启动了嵌入式ZooKeeper服务器,嵌入式Kafka服务器以及kafka生产者和消费者。 将kafka从0.7升级到0.8.1.1后,我遇到以下类型的错误: ERROR [kafka-request-handler-5] state.change.logger – Error on broker 1 while processing LeaderAndIsr request correlationId 7 received from controller 1 epoch 1 for partition [topicName,8] java.lang.NullPointerException: null at kafka.log.Log.(Log.scala:60) ~[kafka_2.10-0.8.1.1.jar:na] at kafka.log.LogManager.createLog(LogManager.scala:265) ~[kafka_2.10-0.8.1.1.jar:na] at kafka.cluster.Partition.getOrCreateReplica(Partition.scala:90) ~[kafka_2.10-0.8.1.1.jar:na] at kafka.cluster.Partition$$anonfun$makeLeader$2.apply(Partition.scala:175) ~[kafka_2.10-0.8.1.1.jar:na] at kafka.cluster.Partition$$anonfun$makeLeader$2.apply(Partition.scala:175) ~[kafka_2.10-0.8.1.1.jar:na] at scala.collection.immutable.Set$Set1.foreach(Set.scala:74) ~[scala-library-2.10.4.jar:na] at kafka.cluster.Partition.makeLeader(Partition.scala:175) ~[kafka_2.10-0.8.1.1.jar:na] at kafka.server.ReplicaManager$$anonfun$makeLeaders$5.apply(ReplicaManager.scala:305) ~[kafka_2.10-0.8.1.1.jar:na] at […]

Java Selenium Chrome驱动程序 – 禁用图像加载

我试图运行chrome驱动程序而不加载任何图像,原因很明显。 我在网上发现了一段代码,但我认为它已经过时了 HashMap images = new HashMap(); images.put(“images”, 2); HashMap prefs = new HashMap(); prefs.put(“profile.default_content_settings”, images); ChromeOptions options =new ChromeOptions(); options.setExperimentalOption(“prefs”, prefs); DesiredCapabilities chromeCaps = DesiredCapabilities.chrome(); chromeCaps.setCapability(ChromeOptions.CAPABILITY, options); driver = new ChromeDriver(chromeCaps); 根本不起作用.. 任何帮助都会受到极大的关注

在Tapestry 5.3中链接多个选择组件(Ajax更新)

我正在使用tapestry 5.3.7,我想使用Ajax链接选择表单元素:如果我在select元素中选择一个选项,则另一个选择似乎根据您的第一选择选择另一个元素。 我在tapestry doc中尝试了一个示例,并根据我的项目进行了调整。 尽管我的自定义代码非常接近样本,但我总是有以下错误: SetupRender中的渲染队列错误[SelectZoneDemo:version]:组件SelectZoneDemo:版本必须由Form组件括起来。 来自doc的工作样本(选择组件的链接CarMaker) http://tapestry.apache.org/5.3/apidocs/org/apache/tapestry5/corelib/components/Select.html ) 这是我的代码: 模板文件(.tml) Java文件 @Inject private AjaxResponseRenderer ajaxResponseRenderer; @Inject private IServiceApplicatif serviceApplicatif; @Inject private SelectModelFactory selectModelFactory; @Property @Persist private SelectModel selectApplicatifs; @Property @Persist private String version; @Property @Persist private SelectModel selectVersions; @Inject @Property private ApplicatifDtoEncoder applicatifDtoEncoder; @Inject @Property private VersionDtoEncoder versionDtoEncoder; @Property @Persist private ApplicatifDto selectedApplicatif; @InjectComponent […]

Cypher使用Neo4j java驱动程序查询执行时间

我试图用java驱动程序找出我的Cypher查询的执行时间。 Session session = driver.session(); session.run( “CREATE (a:Person {name:’Arthur’, title:’King’})” ); StatementResult result = session.run( “Profile MATCH (a:Person) WHERE a.name = ‘Arthur’ RETURN a.name AS name, a.title AS title” ); 但我无法在StatementResult或ResultSummary中找到它,它由StatementResult.consume(query)返回。 我可以在ResultSummary从ProfiledPlan访问db命中,但是没有关于时间的信息。 有什么办法可以使用neo4j java驱动程序访问Cypher查询执行时间吗?

Hibernate Native SQL Query在连接中检索多个实体

引用这个相关线程的答案,ehrhardt发布的技巧很好。 但是,如果我必须加入多个实体,我必须做什么? 例如: List peopleWithBooks = session.createSQLQuery( “select {p.*}, {b.*}, {m.*} from person p, book b, magazine m where “) .addEntity(“p”, Person.class) .addJoin(“b”, “p.books”) .addJoin(“m”, “p.magazines”) .addEntity(“p”, Person.class) .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY) .list(); Hibernate会聚合第一个连接,但不聚合第二个连接(杂志实体未分组)。 有任何技巧或只有一个相关实体加入是有限制的吗? 如果我必须加入具有子实体的实体? (我的目标是只用一个自定义查询检索所有选定的数据)

Java代理发现机器人

我写了一个类,ProxyFinder连接到随机ips并首先ping它们,如果它们响应,尝试通过公共代理端口创建一个http代理连接。 目前,它只是连接到随机ips。 这相对较快,每小时发现一些代理。 但是,我想以某种方式检查我之前是否已连接到ip。 首先我尝试将它们保存在一个列表中,但是使用了超过10GB的ram ..我在下面的代码中包含了一个方法,该方法使用RandomAccessFile将数据写入缓存,但搜索到的速度非常慢每个连接变大的整个文件。 我以尽可能小的格式存储数据,每个ip只需四个字节。 即使这是4 * 256 * 256 * 256 * 256字节.. = 16gb的原始ram ..或每次要测试另一个ip时搜索的16gb文件。 我还尝试创建一个单独的线程来生成ips,根据文件检查它们,然后将它们添加到探针线程可以从中拉出的队列中。 它无法跟上探测线程。 如何快速检查我是否已连接到IP,而不是非常慢或使用可笑的内存量? package net; import java.io.File; import java.io.RandomAccessFile; import java.net.HttpURLConnection; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.Proxy; import java.net.URL; import java.util.Arrays; import java.util.concurrent.atomic.AtomicInteger; /** * * @author Colby */ public class ProxyFinder { /** * @param […]

启动Hadoop集群时出错

chown: changing ownership of `/usr/local/hadoop/libexec/../logs’: Operation not permitted starting namenode, logging to /usr/local/hadoop/libexec/../logs/hadoop-hadoop-namenode-ayush-PC.out /usr/local/hadoop/bin/hadoop-daemon.sh: line 135: /usr/local/hadoop/libexec/../logs/hadoop-hadoop-namenode-ayush-PC.out: Permission denied head: cannot open `/usr/local/hadoop/libexec/../logs/hadoop-hadoop-namenode-ayush- PC.out’ for reading: No such file or directory localhost: chown: changing ownership of `/usr/local/hadoop/libexec/../logs’: Operation not permitted localhost: starting datanode, logging to /usr/local/hadoop/libexec/../logs/hadoop-hadoop-datanode-ayush-PC.out localhost: /usr/local/hadoop/bin/hadoop-daemon.sh: line 135: /usr/local/hadoop/libexec/../logs/hadoop-hadoop-datanode-ayush-PC.out: Permission denied localhost: head: […]