0

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”&gt;

<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>
4

3 に答える 3

2

あなたの考えとは反対に、ejb-jar.xml ファイルと weblogic-ejb-jar.xml ファイルは必要ありません。主要なデプロイメント記述子として、それらは 2004 年からの古代のアーティファクトです。

あなたProductHomeの正気を大切にするなら、あなたのクラスも削除する必要があります。これは、今の時代にはまったく不要な EJB2 アーティファクトです。

EJB を使い始めるために必要なのは、@Statelessアノテーション付きの POJO だけです。

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

これをjarして展開します。それで全部です。Bean に明示的に名前を付ける必要はなく (名前が付けられます)、XML ファイルでその存在を宣言する必要もありません。

于 2012-03-31T08:08:51.653 に答える
0

アプリケーションをjarファイルとしてデプロイする場合、ejb-jar.xmlは必須です。それを置く正しい場所は、瓶の中のMETA-INFにあります。

はい、注釈は間違いなく素晴らしく、保守が簡単です。ejb-jar.xmlを最小限に抑えて、これを試してください。

私は常にアプリケーションをEARにパッケージ化し、jarファイルを内部に入れています。この場合、application.xmlファイルが必要です。

コンテナがjarをアプリケーションとして認識していないようです。ejb-jar.xmlの位置を確認するか、EARパッケージを使用してください。

于 2012-07-14T12:14:25.823 に答える
0

スタンドアロンの EJB であっても、EAR ファイルとしてパックすることをお勧めします。EJB 記述子は、ejb-module の META-INF 内にある必要があります。詳細については、EAR 構造のこのリンクを参照してください。 http://docs.oracle.com/cd/E24329_01/web.1211/e24368/splitcreate.htm#i1103260

于 2014-04-23T20:47:58.437 に答える