Загрузка списка в EJB - PullRequest
2 голосов
/ 10 ноября 2008

У меня есть удаленный EJB с методом, который проверяет объект (возвращая true или false). Я хочу иметь возможность передать ему объект ArrayList и заставить EJB загружать его с ошибками, обнаруженными во время проверки, и в то же время получать в результате true / false.

Как я могу это сделать? До сих пор я могу отправить ему список, и он затронут на стороне сервера, но исходный список не изменяется на стороне клиента.

1 Ответ

1 голос
/ 10 ноября 2008

Это связано с тем, что при отправке списка по проводнику в компонент необходимо обязательно сделать копию, поскольку список перемещается из одной JVM в другую. В отличие от обычного метода, это не тот же список. Я не знаю, как это будет работать с локальными бинами, но другого пути с удаленными бинами не существует.

Я предлагаю, чтобы компонент возвращал список, и если он пуст, объект действителен.

Например:

public List<String> methodWithValidation(Object input) {
    List<String> errors = new java.util.ArrayList<String>();
    //various validation tests, each adding a message on fail

    return errors;
}

И вызывающий метод сделает это:

List<String> errors = bean.methodWithValidation(object);
if(!errors.isEmpty()) {
    //error logic
} else {
   //continue
}
...