2010-08-18 20 views
5

jboss 5 uygulama sunucusunda konuşlandırılan EJB'yi uzaktan arayacak olan glassfish v3 üzerinde j2ee uygulaması geliştiriyorum. Bunun çalışması için benim app sınıf yolunda jboss istemci kavanozları olmalıdır. İstemci jar dosyalarını benim uygulamayla paketleyerek bunu yapmayı başardım, ancak bu işlem boyutu aprox 10mb'ye göre harcar, böylece uygulama yükleme bir sorun haline gelir.glassfish v3 classpath ayarları

Bu kavanozları başka bir yere nasıl koyabilirim ki gf onları alır, böylece onları benim uygulamamda tutmam gerekmez.

cevap

1

Gerekirse bunları sunucu sınıf yoluna koyabilirsiniz. Alan adının lib dizinine git.

+0

Onları başka bir direk içine koyabilir ve gf'ye oraya bakmasını söyleyebilir miyim? – Marko

1

Glassfish etki alanınızın domain.xml dosyasında, java-config etiketinin classpath-suffix özniteliğini, söz konusu etki alanı için Glassfish'in sınıf yolunun bir parçası olması gereken yerlere işaret etmek üzere kullanabilirsiniz.

0

Seçenek 1: Kütüphaneler seçeneğini kullanarak GF3 Dağıtımı sırasında bununla ilgilenebilirsiniz. Bu, GF3 dağıtımı ekranının söylediği şey.

Kitaplık JAR dosyalarının virgülle ayrılmış bir listesi. Kitaplık JAR dosyalarını ilgili veya mutlak yollarına göre belirtin. Örnek-root/lib/applibs ile ilgili göreli yolları belirtin. Kütüphaneler, belirtilen sırayla uygulama için kullanılabilir yapılır.

Dağıtım için komut satırı kullanıyorsanız, lütfen asadmin komutuyla --libraries seçeneğini kullanın.

Bu, en iyi seçenek olmayabilir çünkü her dağıtılma işlemi yapıldığında buna dikkat etmeniz gerekir. Ancak, yeniden dağıtım durumunda bu ayar korunmalıdır.

Seçenek 2: Onları Glassfish etki alanı adı/lib dizinine koyun. Yeniden başlatıldıktan sonra otomatik olarak tüm uygulamalarınızla aynı alandan alınacak.

+0

Birisi bu bilgilerin nereden geldiğini belirtebilir mi? Daha fazla okumak isterim. Örneğin, bir jar yerine bir dizini işaret etmek için -libraries kullanabilir miyim? –

1

Kavanoz için bu sorun değil, özellik dosyaları için başka bir şey. SAVAŞA SAHİP OLMADIĞINIZ ZORUNDADIR (bu, tam bir yeniden paylaşım olmadan bunları güncelleyemeyeceğiniz anlamına gelir).

Ben my_value aşağıdaki değerleri alarak aşağıdaki domain.xml hat

<java-config debug-options="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9009" system-classpath="${com.sun.aas.instanceRoot}/MY_VALUE" classpath-suffix=""> 
     ... 
</java-config> 

adapte yapılandırma klasörüne & yılında xxx.properties koymak için çalıştı:

  1. yapılandırma
  2. config/
  3. config/xxx.properties

Sınıf yolu son ekiyle aynı şeyi denemek de işe yaramadı. Aşağıdaki satırla sınıf yolunu göstermek için web uygulaması isteniyor

:

String path = System.getProperty("java.class.path"); 
LOG.info("Classpath is : '" + path + "'."); 

değerleri yakalandı gösteri yaptı ... ama mülk dosya ClassLoader erişilebilir değildi.getResourceAsInputStream()