У меня есть удаленный ejb, который принимает объект. Он изменяет данные в этом объекте с использованием методов setter. В клиенте я напечатал значение с помощью метода геттера и заметил, что значение изменилось.Изоляция параметра метода ejb
Однако в документации here указано, что параметры выделены. Может кто-нибудь объяснить?
@Remote
public class RemoteServiceBean {
public Student parameterIsolationTest(final Student student) {
student.setName("modified");
return student;
}
}
public class MyClient {
public static void main(String arg...) {
....
Student student = new Student();
student.setName("Krishna");
remoteService.parameterIsolationTest(student);
System.out.println(student.getName()); // prints modified
}
}
Я обновил свой вопрос. –
Правильно, вы создаете объект, передаете его на вызов EJB, вызов EJB изменяет объект, и поскольку это происходит как прямой результат вызова EJB, измененный объект распространяется и обновляется на клиенте. –
Хорошо. Означает ли это, что, если ejb изменяет параметры, те же изменения производятся и на копии клиента. Но когда клиент изменяет их, то же самое не будет распространяться на ejb? –