有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将ejbjar描述符应用于抽象类

我有一个weblogic服务器和一个服务,根据安装情况,我需要以两种不同的方式运行。我的计划是在第一种情况下正常部署,将字符串变量设置为@Resource,并在类中使用ejb jar描述符,该类需要两种不同的行为(我选择使用限定符),如果我想在安装过程中使用计划应用更改

然后我决定将父类抽象,因为我需要它的两个实现,我需要将该变量保留在那里,以便仍然能够选择行为。但是,当我部署服务时,安装程序失败,说无法设置该变量

到目前为止,我尝试的是完全删除ejb jar并使用默认值设置变量,但是如果我想要第二种行为,计划无法设置新值(或者我不知道如何做,这对于所有这些都是完全可能的)

另一个可能可行的想法是在实现抽象变量的类中设置变量,并使用ejb-jar对每个变量进行设置,但这可能会增长太多

那么,我能看到什么线索、帮助或文件吗?问题真的是抽象的类还是我在别的地方搞砸了

我得到的确切错误是:

weblogic.j2ee.dd.xml.AnnotationProcessException: [EJB:015005]The session type is not set in the deployment descriptor or annotation for session bean MyAbstractBean

我知道这可能意味着我需要在描述符中的会话标记中添加一个类型标记,但是相同的ejb jar似乎适用于非抽象类,我不知道这个类型标记应该是什么

这是我的ejb jar:

<ejb-jar>
<enterprise-beans>
    <session>
        <ejb-name>MyAbstractBean</ejb-name>
        <ejb-class>mypackage.MyAbstractBean</ejb-class>
        <env-entry>
            <description> Here comes a descriptions</description>
            <env-entry-name>MyAbstractBean</env-entry-name>
            <env-entry-type>java.lang.String</env-entry-type>
            <env-entry-value>JMS</env-entry-value>
        </env-entry>
    </session>
</enterprise-beans>
</ejb-jar>

谢谢


共 (0) 个答案