簡體   English   中英

無法在WebLogic Server 12c中部署EJB

[英]Not able to deploy EJB in WebLogic server 12c

我創建了一個EJB,創建了一個jar(包含必需的ejb-jar.xml和weblogic-ejb-jar.xml文件)。

當我使用管理控制台將此jar添加到weblogic服務器12c時,出現以下問題-

Issues were encountered while parsing this deployment to determine module type. Assuming this is a library deployment.

因此,我的ejb未在jndi樹視圖中顯示。 因此,我無法進行jndi查找。 請更正我的錯誤。

ejb-jar.xml-

<?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 id="ejb-jar_ID">
    <display-name>ProductManager</display-name>
    <enterprise-beans>
    <session>
    <ejb-name>Product</ejb-name>    
    <home>rohit.ProductHome</home>
    <remote>rohit.ProductRemote</remote>
    <ejb-class>rohit.ProductBean</ejb-class>    
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    </session>  
    </enterprise-beans>
    <ejb-client-jar>ProductManagerClient.jar</ejb-client-jar>

</ejb-jar>

weblogic-ejb-jar.xml-

<?xml version=“1.0? encoding=“UTF-8??>
<weblogic-ejb-jar

xmlns=“http://www.bea.com/ns/weblogic/90? xmlns:j2ee=“http://java.sun.com/xml/ns/j2ee” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xsi:schemaLocation=“http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-ejb-jar.xsd”>

<welogic-enterprise-bean>
<ejb-name>Product</ejb-name>
<jndi-name>Product</jndi-name>
<stateless-session-descriptor></stateless-session-descriptor>
</welogic-enterprise-bean>
</weblogic-ejb-jar>

與您似乎想的相反,不需要ejb-jar.xml和weblogic-ejb-jar.xml文件。 作為主要的部署描述符,它們是2004年以來的古老文物。

如果您重視理智,還應該刪除ProductHome類。 這是EJB2工件,在這個時代完全沒有必要。

要開始使用EJB,您只需要帶有@Stateless批注的POJO:

@Stateless
public class ProductBean {
    // ...
}

打包並部署它。 就這樣。 您不必顯式命名您的bean(它將獲得一個名稱),並且您當然不必在某些XML文件中聲明其存在。

將應用程序部署為jar文件時,ejb-jar.xml是必需的。 將其正確放置在廣口瓶中的META-INF中。

是的,注解絕對是不錯的,並且易於維護。 通過使ejb-jar.xml最小化來嘗試此操作。

我總是將應用程序包裝在EAR中,並放在其中。 在這種情況下,需要一個application.xml文件。

聽起來好像容器無法將罐子識別為應用程序。 檢查ejb-jar.xml的位置或使用EAR包裝。

Oracle建議甚至將獨立的EJB打包為EAR文件。 EJB描述符應該在ejb-module的META-INF中。 有關更多詳細信息,請參見EAR結構的此鏈接。 http://docs.oracle.com/cd/E24329_01/web.1211/e24368/splitcreate.htm#i1103260

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM