小编Ste*_*mon的帖子

com4j与jacob从Java调用COM方法

我维护一个使用Jacob或Java-COM Bridge 的遗留Java应用程序,通过MS VBA和MS Word的COM接口进行调用.我一直在关注来自Sun的com4j,看起来很有希望.

它对我来说很好的原因是它使用vtable绑定到方法,而不是IDispatch.假设我们操作的所有COM对象都存在vtable接口,使用它们而不是IDispatch似乎更简洁.回到COM和CORBA热门二进制接口技术的时代,我似乎记得通过vtable的早期绑定比通过IDispatch的后期绑定提供了更好的性能.

有没有人从雅各布迁移到com4j?如果是这样,那么陷阱和经验教训是什么?

java com com+ com-interop jacob

8
推荐指数
1
解决办法
6923
查看次数

JMS - 消息选择器如何与多个队列和主题使用者一起工作?

假设您有一个JMS队列,并且多个消费者正在查看队列中的消息.您希望其中一个消费者获得所有特定类型的消息,因此您决定使用消息选择器.

例如,您可以在名为的JMS消息头中定义一个属性targetConsumer.您的消息选择器,您应用于称为的消费者A,就像是WHERE targetConsumer = 'CONSUMER_A'.

很明显,消费者A现在只是抓住具有属性集的消息,就像在示例中一样.但是,其他消费者是否会意识到这一点?IOW,CONSUMER_A如果它在消费者之前查看队列,那么另一个不受消息选择器限制的消费者会抓取消息A吗?我是否需要将消息选择器应用于WHERE targetConsumer <> 'CONSUMER_A'其他人?

我现在正在RTFMing并收集经验数据,但希望有人可能知道他们的头脑.

java messaging jms java-ee

8
推荐指数
1
解决办法
1万
查看次数

Grails 1.1应用程序的集成测试不适用于Grails 2.0.3.可能是GORM配置问题吗?

我正在研究Smith和Ledbrook的Grails in Action.本书中的示例是针对Grails 1.1和Hibernate 1.1编写的(根据下载的源代码的application.properties).

其中一个例子是"喧哗".我的机器上有Grails 2.0.3.我使用"grails create-app hubbub"创建了我自己的应用程序副本,使用Grails命令创建了我的域类和测试,然后在书中输入了源代码.换句话说,我不是想在Grails 2.0.3环境中运行使用Grails 1.1生成的源代码树.Grails 2.0.3生成了不是该示例唯一的所有配置和类.我只是输入了Grails首先没有生成的示例中的少量源代码.

这是我的问题 - 其中一个集成测试使用save()方法来持久化对象.当我运行测试时,它只包含一个save(),它会成功.但是,如果测试包含多个save()方法,则在第一个调用之后对save()的所有调用都会失败:

| Failure:  testSaveAndUpdate(com.grailsinaction.UserIntegrationTests)
|  groovy.lang.MissingMethodException: No signature of method:
   com.grailsinaction.User.save() is applicable for argument
   types: () values: []
 Possible solutions: save(), save(boolean), save(java.util.Map), wait(), 
   any(), wait(long)
 at
 com.grailsinaction.UserIntegrationTests.testSaveAndUpdate
 (UserIntegrationTests.groovy:46)
Run Code Online (Sandbox Code Playgroud)

我重新安排了对save()的调用,一个调用总是有效,而后续调用总是失败.我已经注释掉测试来运行每个调用以自行保存,每个调用都可以自己成功.

这是我调用save()方法的类:

package com.grailsinaction

class User {

String userId
String password
String homepage
Date dateCreated

static constraints = {
    userId(size: 3..20, unique: true)
    password(size: 6..8)
    homepage(url: true, nullable: true)
}
Run Code Online (Sandbox Code Playgroud)

这是在User上调用save()的集成测试: …

grails hibernate h2 grails-orm

4
推荐指数
1
解决办法
987
查看次数

标签 统计

java ×2

com ×1

com+ ×1

com-interop ×1

grails ×1

grails-orm ×1

h2 ×1

hibernate ×1

jacob ×1

java-ee ×1

jms ×1

messaging ×1