当前位置: 首页 > 知识库问答 >
问题:

如何为JBoss在ejb-jar.xml中指定MDB目标名称

宗政英才
2023-03-14

我试图在ejb-jar.xml中配置EJB2.1MDB。我的问题是没有明确的方法来指定MDB要侦听的目标(队列名)。我穷尽了网络,没有找到任何有用的信息。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
    <enterprise-beans>   
        <message-driven>
            <ejb-name>LoginListenerMDB</ejb-name>
            <ejb-class>com.mydomain.LoginListener</ejb-class>               
            <transaction-type>Container</transaction-type>                          
            <message-driven-destination>            
                <destination-type>javax.jms.Queue</destination-type>                            
            </message-driven-destination>                   
        </message-driven>
...

共有1个答案

松茂实
2023-03-14

好吧,我想通了。它实际上是在另一个名为jboss.xml的配置文件(eeeegrr)中定义的:

<?xml version="1.0"?>
<!DOCTYPE jboss PUBLIC
    "-//JBoss//DTD JBOSS 6.0//EN"
    "http://www.jboss.org/j2ee/dtd/jboss_6_0.dtd">
<jboss>
    <enterprise-beans>

        <message-driven>
           <ejb-name>LoginListenerMDB</ejb-name>
           <destination-jndi-name>queue/LoginQueue</destination-jndi-name>         
        </message-driven>
...

我不知道为什么要这样做?是否允许将同一MDB绑定到多个目的地?

 类似资料:
  • 当尝试在glassfish 4.0(使用netbeans 7.3.1)中部署一个mavenized entreprise应用程序(包括war和jar项目)时,我遇到了与该问题类似的问题,即jar无效,因为它包含零ejb(这不是真的,因为我的应用程序jar包含4个实体类及其相应的会话bean和本地接口)。由于那篇文章中的解决方案是添加ejb-jar.xml,所以我也添加了我的部署描述符,编写如下:

  • 我目前有一个WAR项目和一个EJB项目,以及一个将它们捆绑在一起的EAR项目。 实际上,它正是NetBeans示例中的project Maven>Enterprise应用程序。 一开始,我的编译器抱怨它找不到这个NewSessionBean类,因为它们在不同的项目中,这个类是足够公平的。 通过Netbeans的“提示”,我看到Netbeans建议我将EJB项目添加为依赖项,所以我就这样做了。 我的

  • 问题内容: 如果我打电话给: …使用antlr-3.1.3,解析器和词法分析器代码将在目录中生成。但是生成的类没有任何声明。我需要他们活在包裹里。 有没有办法指定目标包装? 问题答案: ANTLR提供了一个标头工具,使您可以包括包和导入。您将此包含在您的* .g语法文件中: 而且您可能在Lexer中也需要它: 并且如果您需要添加一些成员和代码:

  • 我使用在一个Groupby结果上,以便计算每个组中有多少项。 我希望在不手动编辑列名数组的情况下将结果保存到新列名,如何实现? 这就是我尝试过的: 我得到的错误是: TypeError:“DataFrameGroupBy”对象不支持项分配(在第二行)

  • 我创建了一个NetBeans企业应用程序,它由包装ejb(jar)项目和web(war)项目的ear组成。 我的web项目中有一个servlet,我想在其中使用ejb项目中的一个ejb。

  • 我在EJB3.1中有EJB,我试图在JBoss EAP 6中部署它,但当我启动服务器时。它在JNDI名称中附加版本号,如下所示。 如何从JNDI名称中删除版本号“-3_0_0-SNAPSHOT”?我有ejb jar。部署ear时放在ejbjar文件中的xml。