2016-04-04 31 views
1

Oturum çekirdekleri ve JPA ile EJB 3.0 olarak oluşturulan eski bir EJB uygulamasını miras aldım. Uygulamanın sorunsuz çalıştığı WebSphere 8.0'dan geçiş yapıyorum. WebSphere 8.5.5 classic'i test ettim ve hiçbir sorunum olmadı, ancak WebSphere Liberty'yi kullanmak için stratejik nedenler kararlaştırdık. Uygulama sunucusunda iki tane kulak dosyası dağıtıyorum, 1'i bir ön uç EAR uygulaması ve EJB (JPA) uygulamasını barındıran bir tanesi. Her iki uygulama da aynı JVM'yi çalıştırır. Ben ikisini de dağıtmıştım ve Liberty başlayacak, ancak sürekli olarak (Ben seçimimi kaydetmek için pop-up'ı seçebileceğimi biliyorum) "Uygulama XXXX'inin özellik (ler) i gerektirdiğini söyleyen pop-up'ları görüyorum: ejb-3.1 lite. Ancak, ben ejb3.2-lite kullanmak istiyorum.Applipse (Eclipse Juno w/WDT) proje yönlerinde seçim mevcut olmadığı için EJB 3.2'yi seçemiyorum, gidebildiğim en yüksek seviye şu anda 3,1'dir. . İşte benim server.xml dosyasının pasajı: Ben EJB 3.1 seçmiş Kulak dosya java projesindeWebSphere Classic'ten Liberty'ye geçiş EJB uygulamasını gerektirir. 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> 

ama EJB özellikleri olarak 3.2 seçmek için bir yol görmüyorum çünkü sadece beri. Yukarıda gördüğünüz java7EE profilini tam otomatik olarak kullanıyorum, ejblite-3.2'yi otomatik olarak alıyorum ama bir nedenden ötürü benim uygulamamın bunu istismar etmeyeceği anlaşılıyor. Lütfen önerin:

+0

Bu, muhtemelen tutulacak proje yüzünün 3.1 için yapılandırılmasından kaynaklanır. Eğer projeye sağ tıklarsanız ve Proje Facets'i seçerseniz, ejb faset olmalı, eğer versiyon 3.1 gösteriyorsa, 3.2'ye değiştirin ve istediğiniz şekilde çalışmalıdır. – Alasdair

+0

Evet, proje fasetini 3.0'dan 3.1'e güncellediğimi (orijinal gönderiye bir güncelleme ekleyeceğim) belirtmeliydim, ancak seçim olmadığı için 3.2'ye güncelleyemiyorum. Ayrıca JPA projemde JPA 2.0'dan 2.1'e güncelleme yapamayacağımı da belirtmeliyim, çünkü seçim burada da mevcut değil. Düşüncesi olan var mı? – Doug

cevap

2

Eclipse Juno'daki WTP sürümü JavaEE7 desteğine sahip değil. Kepler ve yukarısına yükseltme yapmayı deneyin - daha fazla ayrıntı için yeni ve dikkat çekici bölüme bakın. https://www.eclipse.org/webtools/releases/3.5.0/NewAndNoteworthy/javaee.php

+0

Fuar noktası, sağınız. Bunu düşünmedim bile. Arggg! Rational Team Concert sunucu kısıtlamaları ve firmamın kullandığı diğer takımlar nedeniyle bu arkaik tutulma versiyonuna takılıyoruz. EJB 3.2 ve JPA 2.1 için çaresiz olsaydım xmls'i kesebilir miyim? – Doug

+0

Bunu tavsiye etmem. JavaEE7 geliştirmeyi destekleyen bir çalışma alanı (WDT için minimum seviye Eclipse Luna) kurabilir ve bunun üzerine RTC'yi yüklemeyi deneyebilirsiniz. RTC'yi yükleyemiyorsanız, projelerinizi bir arşive (Export> Archive File) dışa aktarmaya çalışın ve bunları yeni çalışma alanınıza aktarın, böylece bunları sınava girip dağıtmak üzere dağıtın. – ktsao

+0

WDT'ye özellikleri eklememesini söyleyebilirsiniz. Projeye sağ tıklarsanız, Liberty özellikleri için bir tercih bölümü vardır. EjbLite-3.1 eklememeyi ve daha sonra ejbLite-3.2'yi sunucuya el ile ekleyebileceğinizi söylemenizi sağlar. – Alasdair