2010-01-11 20 views

cevap

5

Sanırım öyle değil. Load objects in the JNDI tree alıntı:

Administration Console kullanarak, JNDI ağacında, böyle RMI, JMS EJB'ler ve JDBC veri kaynakları olarak WebLogic Sunucusu J2EE hizmetleri ve bileşenleri, yükleyebilirsiniz.

Gerçekten de ben String veya URL bir konsolunu kullanarak eklemek için bir yol bulamadık.

AFAIK, standart yol (web.xml, ejb-jar.xml) Dağıtım açıklayıcıda bir env-entry koymaktır:

<env-entry> 
    <env-entry-name>string/foo</env-entry-name> 
    <env-entry-type>java.lang.String</env-entry-type> 
    <env-entry-value>foobar</env-entry-value> 
</env-entry> 

<env-entry> 
    <env-entry-name>url/bar</env-entry-name> 
    <env-entry-type>java.net.URL</env-entry-type> 
    <env-entry-value>http://foobar/</env-entry-value> 
</env-entry> 
+2

Ancak web.xml dosyasına koyarsam, herhangi bir değişiklik yeniden oluşturulmasını ve yeniden dağıtılmasını gerektirir. JDBC yapılandırmasını sunucuya koyabildiğim, değişikliklerin yeniden yapılandırılmasını gerektirmediği garip, ancak özel değişkenlerimi (örneğin, posta oturumunda yapılandırılamayan posta hesabına parola) koyamam ve Onları benim uygulamamda tutmaya ihtiyacım var. –

+0

aynı şeyi yapmalı ... vay, bu kokuyor. – MeBigFatGuy

+1

Web.xml'deki varsayılan değerleri güncellemek/üzerine yazmak için plan.xml kullanmalısınız –

1

ben de aynı sorunla bu ulaşmıştır. Örneğin, Websphere'de, geçici dizinler, parolalar ve diğer bilgileri EJ'yi yeniden derlemek/yeniden inşa etmek zorunda kalmadan JNDI'ya isteğe bağlı parametreler ekleyebilirim.

Bir süredir aradık ve Weblogic bu özellikten yoksun görünüyor. Yaptığım şey, belirli bir yapılandırma anahtarı için JNDI'yi ilk kez arayan bir yardımcı sınıf yazmaktı ve eğer bulamazsa, arama ortamına veya sistem değişkenlerine geri dönüyordu. Aynı EAR'nin birden çok örneği dağıtıldığında ad çakışmaları önlemek için, çalışma zamanında keşfedilen uygulamanın adı veya içerik kökü tarafından öncelenilen özelliklerin de araştırılması da muhtemelen bu durum artırılabilir.