GWT RequestFactory — использование нового установщика для прокси-объекта вызывает исключение IllegalArgumentException

У меня есть прокси-объект фабрики запросов и «старые» методы установки, которые я могу использовать без проблем. Теперь я добавил новое поле и установщик для этого поля (на бэкэнд-объекте). Я также определил метод в своем прокси-объекте.

Но если я вызову сеттер для нового поля во внешнем интерфейсе, я получу исключение IllegalArgumentException. Я использую GWT + Maven. Нужно ли очищать какой-то кеш или какие-то старые объекты, чтобы компилятор знал о новом поле? Я пробовал maven clean, eclipse clean, но ночтинг помог.

Мой интерфейс прокси выглядит так:

@ProxyFor(value = User2.class, locator = EntityLocator.class)
public interface User2Proxy extends EntityProxy{

    void setPassword(String password);

}

Бэкенд-объект выглядит так:

открытый класс User2 реализует Serializable {

private String password;

public String getPassword() {
    return password;
}

public void setPassword(String password) {
    this.password = password;
}

}

И я создаю прокси-объект следующим образом:

User2Proxy user = userRequest.create(User2Proxy.class);

user.setPassword("abc")

Таким образом, ввод не может быть ошибочным со строкой типа «abc».


person jan    schedule 22.01.2014    source источник
comment
Нам нужно увидеть код и трассировку стека! Скорее всего, вы передаете ему недопустимое значение.   -  person chrylis -cautiouslyoptimistic-    schedule 22.01.2014


Ответы (1)


Я нашел проблему: мне нужен в прокси-объекте не только сеттер-метод, но и геттер. Если этот метод предусмотрен, он работает!

person jan    schedule 03.02.2014