为了在 Scala 中创建消息驱动 bean,使用 JBoss,我需要对类进行如下注释:
@MessageDriven(
activationConfig=Array(@ActivationConfigProperty(propertyName="destination", propertyValue="java:/queue/mail") ),
messageListenerInterface=classOf[MessageListener])
class MailService extends MessageListener {
def onMessage(m: Message) {
...
}
}
问题在于注解包含一个属性,该属性本身就是一个注解,而 Scala 编译器似乎无法处理它。
错误消息是:“非法开始简单表达式”,在第二行的 @ 符号周围突出显示,就在“activationConfig”之后。
在 Java 中,我会编写如下注释:
@MessageDriven(
activationConfig={@ActivationConfigProperty(propertyName="destination", propertyValue="java:/queue/mail")},
messageListenerInterface=MessageListener.class)
Scala中有没有办法编写注释,这样才能工作?
有没有办法欺骗编译器以我想要的方式生成字节码?
谢谢,约翰