【发布时间】:2012-09-17 16:37:32
【问题描述】:
为了在 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 中有没有一种方法可以编写注释,这样才能正常工作?
有什么办法可以欺骗编译器以我想要的方式生成字节码?
谢谢, 约翰
【问题讨论】:
标签: scala jakarta-ee annotations