2016-04-04 18 views
1

セッションBeanとJPAを使用してEJB 3.0として構築された従来のEJBアプリケーションを継承しました。アプリケーションが問題なく動作していたWebSphere 8.0から移行しています。私はWebSphere 8.5.5の古典についてテストしましたが問題はありませんが、私たちはWebSphere Libertyを使用する戦略的理由を決定しました。アプリケーションサーバーに2つのearファイルを配置します.1はフロントエンドのEARアプリケーションであり、1はEJB(JPA)アプリケーションを格納します。どちらのアプリケーションも同じJVMで動作します。私は両方を展開して、Libertyが始まりますが、私はいつも(自分の選択を保存するためにポップアップを選択できることを知っています)、私の "Application XXXXには機能が必要です"というポップアップが表示されます:ejb-3.1 lite。しかし、私はejb3.2-liteを使いたいです.Eclipseのプロジェクトファセット(Eclipse Juno w/WDT)では、選択肢が存在しないのでEJB 3.2を選択できません。 。ここに私のserver.xmlファイルの抜粋です:WebSphere ClassicからLibertyへのEJBアプリケーションの移行ejblite-3.1が必要

<server description="new server"> 

<!-- Enable features --> 
<featureManager> 
    <feature>javaee-7.0</feature> 
    <feature>localConnector-1.0</feature> 
    <feature>distributedMap-1.0</feature> 
    <feature>adminCenter-1.0</feature> 
    <feature>ssl-1.0</feature> 
    <feature>usr:webCacheMonitor-1.0</feature> 
    <feature>webCache-1.0</feature> 
    <feature>ldapRegistry-3.0</feature> 
    <feature>ejbRemote-3.2</feature> 
</featureManager> 

<!-- To access this server from a remote client add a host attribute to the following element, e.g. host="*" --> 
<httpEndpoint host="*" httpPort="9080" httpsPort="9443" id="defaultHttpEndpoint"/> 

<!-- Automatically expand WAR files and EAR files --> 
<applicationManager autoExpand="true"/> 
<applicationMonitor updateTrigger="mbean"/> 
<enterpriseApplication id="CHServiceEAR" location="CHServiceEAR.ear" name="CHServiceEAR"/> 
<enterpriseApplication id="CHNewCHRDMEAR" location="CHNewCHRDMEAR.ear" name="CHNewCHRDMEAR"> 
    <application-bnd> 
     <security-role name="AllAuthenticated"> 
      <special-subject type="ALL_AUTHENTICATED_USERS" /> 
     </security-role> 
    </application-bnd> 
</enterpriseApplication> 

私はEJB仕様として3.2を選択する方法を見ていない私はEJB 3.1を選択したEARファイルのJavaプロジェクトでは、唯一のためので。私は完全にjava7EEのプロファイルを使用していますが、私は自動的にejblite-3.2を取得していますが、何らかの理由で私のアプリがそれを悪用することはありません。

+0

これは、おそらく、3.1用に構成されているeclipseのプロジェクトファセットによって引き起こされていると思われます。プロジェクトを右クリックしてProject Facetsを選択すると、ejbファセットが表示されます。バージョンが3.1の場合は3.2に変更し、必要な場合は機能するはずです。 – Alasdair

+0

はい、私は、プロジェクトファセットを3.0から3.1に更新したが、選択肢が存在しないため、3.2に更新することはできません(元の投稿に更新を追加します)。また、私のJPAプロジェクトでは、JPA 2.0から2.1への更新はできません。なぜなら、その選択肢もそこに存在しないからです。何かご意見は? – Doug

答えて

2

EclipseのWTPバージョンJunoにはJavaEE7がサポートされていません。 https://www.eclipse.org/webtools/releases/3.5.0/NewAndNoteworthy/javaee.php

+0

公正なポイント、あなたの権利。私はそれについても考えなかった。 Arggg!私たちはRational Team Concertサーバーの制約と、私の会社が利用している他のツールを利用して、この古典的なEclipseのバージョンに固執しています。私がEJB 3.2とJPA 2.1のために必死だったらxmlをハックすることができるかどうか知りましたか? – Doug

+0

私はそれをお勧めしません。 JavaEE7開発をサポートするワークスペースをセットアップすることができます(WDTの最小レベルはEclipse Lunaです)。その上にRTCをインストールしようとします。 RTCをインストールできない場合は、プロジェクトをアーカイブにエクスポートし(エクスポート>アーカイブファイル)、新しいワークスペースにインポートして、テストのために移行して展開できるようにしてください。 – ktsao

+0

WDTに機能を追加しないように指示できます。プロジェクトを右クリックすると、Liberty機能の設定セクションが表示されます。これにより、ejbLite-3.1を追加しないようにして、ejbLite-3.2を手動でサーバーに追加することができます。 – Alasdair

関連する問題