Java 消息驱动的 Bean 覆盖

Java Message Driven Bean Override

我有一个无法修改的 MDB,它是用注释声明的,不在 xml 文件中。

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

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

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

更进一步,您甚至可以完全忽略设置 metadata-complete=true.

的带有 ejb-jar.xml 的注释