Java消息驱动的Bean覆盖

huangapple 未分类评论46阅读模式
英文:

Java Message Driven Bean Override

问题

我有一个无法修改的 MDB,它是通过注解声明的,而不是在 XML 文件中。

我是否可以以某种方式覆盖它的实现,特别是 onMessage 行为?

我尝试过修改 XML 文件以将 MDB 指向不同的类,或者只是简单地扩展原始 MDB 类并覆盖 OnMessage 方法,但是在日志中我可以看到始终注册了旧的 MDB 并且接收了所有消息。

英文:

I have an MDB that I cannot modify, it is declared with annotations, not within xml file.

Can I somehow override it's implementation, specifically onMessage behaviour?

I tried modyfing xml files to point MDB to different class or just simply extend original MDB class and override OnMessage method, but in logs I can see that it is always old MDB being registered and receivng all messages.

答案1

得分: 1

你应该能够使用ejb-jar.xml描述符覆盖bean类的注解。这是拥有XML描述符的主要原因之一。

为了更进一步,你甚至可以完全忽略带有metadata-complete=true设置的ejb-jar.xml中的注解。

英文:

You should be able to override bean class annotations with ejb-jar.xml descriptor. That's one of the main reasons to have xml descriptors.

To go one step further, you can even completely ignore annotations with ejb-jar.xml that sets metadata-complete=true.

huangapple
  • 本文由 发表于 2020年4月6日 23:08:22
  • 转载请务必保留本文链接:https://java.coder-hub.com/61062884.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定