Я построил почтовый сервер в java, и я был предоставлен с помощью ObserverProtocol, написанного с AOP. Я использую Eclipse, с AspectJ плагин в соответствии с требованиямиМетод aspectOf не определен
Я пытаюсь использовать статические методы, как aspectOf, которые я, как понять, должны быть добавлены на этапе ткачества
Eclipse, не могу заставить его работать, как я всегда получаю следующее сообщение об ошибке:
Описание Путь информационного ресурса Тип метод aspectOf() не определено для типа ObserverProtocol MailReaderBean.java/emailClent_test/SRC/emailserver линии 86 Java Проблема
Из того, что я понял по шныряли различных веб-сайты, учебники и документы Кажется, что мои файлы .aj не правильно сплетены.
Я попытался скомпилировать вручную с помощью ajc безрезультатно, и я по-разному перебирал пути и настройки, банки и библиотеки по-разному, ничего не работает, и я не могу найти полное руководство или учебник для установки вещи правильно
Мой аспект код:
package protocol;
import java.util.WeakHashMap;
import java.util.List;
import java.util.LinkedList;
import java.util.Iterator;
public abstract aspect ObserverProtocol
{
protected interface Subject { }
protected interface Observer { }
private WeakHashMap perSubjectObservers;
protected List getObservers(Subject s)
{
if (perSubjectObservers == null)
{
perSubjectObservers = new WeakHashMap();
}
List observers = (List)perSubjectObservers.get(s);
if (observers == null)
{
observers = new LinkedList();
perSubjectObservers.put(s, observers);
}
return observers;
}
public void addObserver(Subject s, Observer o)
{
getObservers(s).add(o);
}
public void removeObserver(Subject s, Observer o)
{
getObservers(s).remove(o);
}
protected abstract pointcut subjectChange(Subject s);
after(Subject s): subjectChange(s)
{
Iterator iter = getObservers(s).iterator();
while (iter.hasNext())
{
updateObserver(s, ((Observer)iter.next()));
}
}
protected abstract void updateObserver(Subject s, Observer o);
public static ObserverProtocol aspectOf() {
// TODO Auto-generated method stub
return this;
}
}
Оскорблять код в моем Java сервер
//Add observer Proxy for monitoring the subject MailServer.
ObserverProtocol.aspectOf().addObserver(this, proxy);
Есть ли какие-либо ресурсы, которые могли бы помочь мне понять, как работает ткачество и как настроить мою сборку, не прибегая к Spring или Maven?
Вы можете видеть, что вы аспект ткут? Попробуйте декомпилировать код и найти методы 'aspectOf()' и 'hasAspect()'. –
Пожалуйста, подумайте над устранением чрезмерных комментариев при отправке кода; в общем, это просто шум, из-за которого сложнее думать о коде. –
Я попытаюсь декомпилировать класс сегодня вечером, когда я вернусь домой (также удалены комментарии) – user1229829