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