powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Вылезает java.lang.IllegalAccessError. А все вроде правильно.
8 сообщений из 8, страница 1 из 1
Вылезает java.lang.IllegalAccessError. А все вроде правильно.
    #34325278
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть класс:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
 package  org.apache.log4j.net;

 public   class  JMSAppender  extends  AppenderSkeleton {
...
TopicSession topicSession;
....
  /**
     This method called by {@link AppenderSkeleton#doAppend} method to
     do most of the real appending work.  */
   public   void  append(LoggingEvent event) {
     if (!checkEntryConditions()) {
       return ;
    }

     try  {
      ObjectMessage msg = topicSession.createObjectMessage();
       if (locationInfo) {
	event.getLocationInformation();
      }
      msg.setObject(event);
      topicPublisher.publish(msg);
    }  catch (Exception e) {
      errorHandler.error("Could not publish message in JMSAppender ["+name+"].", e,
			 ErrorCode.GENERIC_FAILURE);
    }
  }
...
}

Делаю свой класс:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 package  org.apache.log4j.net;

 public   class  IAOMJmsAppender  extends  JMSAppender {
...
     public   void  append( LoggingEvent event ) {
         if  ( !checkEntryConditions() ) {
             return ;
        }

         try  {
            ObjectMessage msg = topicSession.createObjectMessage(); // тут падает
       ....
    }

...
}


stacktrace
java.lang.IllegalAccessError: tried to access field org.apache.log4j.net.JMSAppender.topicSession from class org.apache.log4j.net.IAOMJmsAppender
at org.apache.log4j.net.IAOMJmsAppender.append(IAOMJmsAppender.java:25)



Проект компилируется и собирается 2-ым мавеном без всяких ошибок, деплоится на JBoss тоже без проблем. И в рантайме вот такая беда. Кто-нибудь знает в чем проблема.
...
Рейтинг: 0 / 0
Вылезает java.lang.IllegalAccessError. А все вроде правильно.
    #34325759
^ozzy^
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Класс точно лежит в том же package'е ?
Поменяйте в своем классе строку
Код: plaintext
1.
ObjectMessage msg = topicSession.createObjectMessage();

на

Код: plaintext
1.
ObjectMessage msg = getTopicSession.createObjectMessage();
...
Рейтинг: 0 / 0
Вылезает java.lang.IllegalAccessError. А все вроде правильно.
    #34325760
^ozzy^
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, на

Код: plaintext
1.
ObjectMessage msg = getTopicSession().createObjectMessage();
...
Рейтинг: 0 / 0
Вылезает java.lang.IllegalAccessError. А все вроде правильно.
    #34327109
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Вылезает java.lang.IllegalAccessError. А все вроде правильно.
    #34327117
^ozzy^
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык я тоже самое написал :)
...
Рейтинг: 0 / 0
Вылезает java.lang.IllegalAccessError. А все вроде правильно.
    #34327136
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
^ozzy^Дык я тоже самое написал :)
Что тоже самое? package у них одинаковый.
...
Рейтинг: 0 / 0
Вылезает java.lang.IllegalAccessError. А все вроде правильно.
    #34327197
^ozzy^
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не до конца ответ сформулировал. Подразумевалось.

А вообще, считаю, что воспользоваться get'ером - все равно более разумно. Тем более, что он есть и он public :)
...
Рейтинг: 0 / 0
Вылезает java.lang.IllegalAccessError. А все вроде правильно.
    #34327765
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
^ozzy^
А вообще, считаю, что воспользоваться get'ером - все равно более разумно. Тем более, что он есть и он public :)

Дело в том, что нету этого метода в верси 1.2.8 библиотеки log4j. И именно эту версию использует JBoss 4.0.5. Так что разумно то оно разумно, но не реально :) Пришлось наследоваться от AppenderSkeleton и тупо копипастить всю логику из класса JMSAppender, вот вам и ООП.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Вылезает java.lang.IllegalAccessError. А все вроде правильно.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]