2009-06-11 10 views
4

EJB3の仕様は、EJB2とEJB3が単一のアプリケーションで共存できることを示しています。ejb2ステートレスセッションBeanをejb3に少々移行するにはどうすればよいですか?

EJB2ステートレスセッションBeanをEJB3ステートレスセッションBeanに移行したいと考えています。
この質問は、私はEJB3機能パックインストールとパッチを適用してのWebSphere 6.1上で実行しているよ

(つまり、将来的に実行すべき作業の別個の部品である)とプロファイルがあるすべてのJPAとは関係ありません。 (ejb3サンプルアプリケーションが動作することを確認)

コード、web.xml、application.xml、ejb-jar.xml、および他のwebsphere固有のバインディングを変更してSINGLE ejbを2〜3?

答えて

1

私は自分の質問に答えるのに亀裂があります。
は、ここで私はそれ

文書型を持っていた次のXMLファイルを使用して得た方法だが、今の名前空間持っている必要があります。

に、myapp.ear/META-INF/application.xmlに

<application version="5" xmlns="http://java.sun.com/xml/ns/javaee" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd"> 

に、myapp.ear/web.war/WEB-INF/web.xmlの

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 

に、myapp.ear/ejb.jarなど/ META-INF /のejb-jar.xmlの

<ejb-jar id="ejb-jar_ID" version="3.0" 
      xmlns="http://java.sun.com/xml/ns/javaee" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd"> 

次の変更が

    をweb.xmlに行われています
  • taglib要素は現在jsp-config要素の下にあります

  • 表示-name要素は、フィルタ要素 とサーブレット要素から除去された

削除に、myapp.ear/ejb.jarなど/ META-INF/IBM-EJB-JAR-bnd.xmi

JNDIルックアップ 変更すべてのローカルEJBのJNDIルックアップをejblocalを使用するには:[クラス名]

ejb-jar.xmlマッピングからjdbcリソース参照を削除し、代わりにグローバルルックアップを使用しています

ibm-application-bndを削除したため、セキュリティ上の問題が発生しました。xmiどこのユーザーとグループをロールにバインドする/

0

最初に説明した3つのxmlファイルにJava EE XML名前空間を配置する必要があります。次に、WASバインディングファイルを削除し、別のjndiルックアップを使用すると思います。

+0

これは私にとってはいくつかの理由があるようですが、私のejbクライアントは適切な役割を持っていないため拒否されています。 エラーメッセージから、正しいユーザー名が選択されているが、役割にはマッピングされていないことがわかります。 私の開発環境でwebsphereに付属するFileRegistrySampleを使用しています。古いejb2セットアップでも同じ設定が有効でした。 彼らは認証で何か違ったことをしましたか? –

関連する問題