MBean如何依赖于JBoss 7中的EJB

时间:2015-01-12 09:35:50

标签: java-ee jboss7.x ejb-3.0 mbeans

我在Jboss 7中使用MBean.Mbean需要在启动时调用一些EJB,但我无法控制启动EJB和MBean的排序。在Jboss 4中,我可以通过带有depends标签的jboss-service.xml中的befine MBean来实现。但是在Jboss 7中这种方式不再适用了。

<mbean code="com.mycompany.vms.adapter.connector.SourceConnector" name="mycompany:service=SourceConnector,source=SILTERRA" xmbean-dd="META-INF/SILTERRA-SourceConnector-xmbean.xml">
    <depends>jboss.j2ee:jndiName=mycompany/vms/ImportService,service=EJB</depends>
    <depends>jboss.j2ee:service=EJB,jndiName=mycompany/vms/EJBCommandService</depends>
    <depends>jboss.mq.destination:service=Queue,name=vms/ReceiverQueue</depends>
    <depends>jboss.mq.destination:service=Queue,name=vms/DMuxerQueue</depends>
    <depends>jboss.mq.destination:service=Queue,name=vms/ChannelProcessorQueue</depends>
    <depends>jboss.mq.destination:service=Queue,name=vms/TransactionProcessorQueue</depends>
    <depends>jboss.mq.destination:service=Queue,name=vms/SynchronizerQueue</depends>
    <depends>jboss.mq.destination:service=Queue,name=vms/CommandQueue</depends>
    <depends>jboss.mq.destination:service=Topic,name=vms/SystemAlertsTopic</depends>
    <depends>jboss.mq.destination:service=Queue,name=vms/LotIssueQueue</depends>
</mbean>

请有人帮我解决这个问题。无论如何可以在JBoss7上做到这一点?

2 个答案:

答案 0 :(得分:0)

您可以将MBean转换为@Singleton触发的@Startup,并在其上注入其EJB依赖项。

您可以找到更多信息herehere

答案 1 :(得分:0)

您可以创建一个jboss-ejb3.xml文件并在其中列出您的企业bean,以便为您的ejb启动订购。

更多细节可以在这里找到 - https://docs.jboss.org/author/display/AS71/jboss-ejb3.xml+Reference