1

2つのEARにデプロイされたJavaWebアプリケーションがあります。1つはUI層(を含むWAR module)用で、もう1つはビジネス層(を含むEJB module)用です。両方の層がWebSphereApplicationServer 7にデプロイされます。これらの層は、EJB3.0ステートレスセッションBeanを介して接続されます。BeanはJNDIを介して検索されます。

2つのアプリケーションは現在同じWASサーバー上にありますが、将来的には異なるサーバーに展開される予定です。EJBを検索しようとすると、エラーが発生します。

ルックアップエラーをデバッグしようとして、WASサーバーでJNDI名前空間ダンプを実行しました。

./dumpNameSpace.bat -host localhost -port 10031 > namespace.log

私の各EJBは、次のエラーでリストされました。

(top)/nodes/U4752879Node01/servers/server1/ejb/au/gov/immi/emed/ejb/CrtEJB
                                               au.gov.immi.emed.ejb.CrtEJB
ERROR: Received the following naming exception: com.ibm.ws.naming.util.InvalidObjectException: The IOR associated with the binding "CrtEJB" relative to the context "U4752879Node01Cell/nodes/U4752879Node01/servers/server1/ejb/au/gov/immi/emed/ejb" could not be resolved.  If the binding is for an application object, make sure the application has started successfully. IOR: IOR:<removed>

これがEJBリモートインターフェースです。

@Remote
public interface CrtEJB extends EMedEJB, EMedCrtService
{
}

そして、Beanの実装:

@Stateless(name = "CrtEJB")
@Remote(value = CrtEJB.class)
public class CrtEJBBean extends AbstractEMedEJBBean implements CrtEJB
{

    ...
}

そして、ibm-ejb-jar-bnd.xmlファイル:

<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar-bnd xmlns="http://websphere.ibm.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://websphere.ibm.com/xml/ns/javaee http://websphere.ibm.com/xml/ns/javaee/ibm-ejb-jar-bnd_1_0.xsd">
    <session name="CrtEJB" simple-binding-name="ejb/au/gov/immi/emed/ejb/CrtEJB" />
        ...
</ejb-jar-bnd>   

エラーが発生する原因は何ですか?エラーは、ibm-ejb-jar-bnd.xml私が必要としないファイルがなくても同じです。このエラーがUIルックアップの失敗の原因ですか、それともとにかく機能しているはずですか?(この場合、UIエラーを投稿します)。

4

0 に答える 0