Witam, mam problem: testuje moja aplikacje na moim tomcatcie (7+). Aplikacja polega na obiektach JNDI w pliku tomcata context.xml zeby uzyskac polaczenie z baza danych. Gdy aplikacja jest uruchomiona na moim serwerze - dziala poprawnie, moj kawalek kodu przeglada plik context.xml i pobiera odpowiednie wartosci, przypisuje do tymczasowego obiektu i tworzy polaczenie z baza danych. Ta sama aplikacja, z tym samym plikiem context.xml na innym serwerze dziala dziwnie - odczytywany jest jakby nie tylko moj context.xml, ale cos innego - podgladane wartosci sa mi zupelnie obce. Ponizej kawalek kodu zeby zobrazowac co robie:
DataSource ds = null;
InitialContext ic = null;
try {
ic = new InitialContext();
Context ctx = (Context) new InitialContext().lookup("java:comp/env/jdbc");
NamingEnumeration<Binding> list = ctx.listBindings("");
while (list.hasMore()) {
Binding item = (Binding) list.next();
parameterLookup(item);
parameterLookup(Binding binding) {
Object o = binding.getObject();
for (Field field : o.getClass().getDeclaredFields()) {
field.setAccessible(true);
Object value = null;
try {
value = field.get(o);
String tmp = value.toString();
System.out.println("Wartosc zmiennej temp: " + temp);
Wartosci zmiennej temp
na cudzym serwerze to jakies zupelnie mi nieznane rzeczy. Moj context.xml wyglada mniej wiecej tak (ponizej) i takich wartosci bym sie spodziewal:
<Resource name="jdbc/costam" url="jakisUrl" driverClassName="sterownikOracla"
user="user" password="password" factory="domyslny springBeanFactory" />
Teraz pytanie - czy sposob w jaki laduje "kontekst" jest nieodpowiedni do tego co chce osiagnac (odczytac tylko zawartosc mojego pliku context.xml)?