2011-01-25 3 views
0

이 질문이 약간 분명한 경우 미안하지만 BlazeDS를 처음 사용하고 답을 찾지 못하는 것 같습니다. 플렉스 프런트 엔드가있는 BlazeDS 서버에서 Java를 실행하고 있습니다. Java 클래스의 인스턴스를 한 번만 만들 수 있고, Flex가 setter와 getter를 사용하여 Java 클래스의 데이터를 재생할 수있게하고 싶습니다. (어떤면에서는 RemoteObject를 클래스의 인스턴스 인 것처럼 취급합니다.). 지금까지 읽은 것만 큼 BlazeDS가 작동하는 것처럼 보이지만 Flex에서 Java 메소드를 호출 할 때마다 Java 생성자를 다시 호출하여 setter 메소드로 입력 한 내용을 모두 재설정합니다. 메소드 호출간에 서버가 Java 클래스의 인스턴스를 보유하게하는 방법이 있습니까? 감사!BlazeDS, Flex 및 Java - RemoteObject를 Java 클래스의 인스턴스처럼 취급 할 수 있습니까?

답변

2

이것이 작동하는 방식에 대한 오해가있는 것 같습니다.

Flex 클라이언트의 개체와 서버의 개체는 완전히 독립적입니다. 일반적으로 Flash Player/A Flex App은 WebSerice, HTTPService 또는 RemoteObject를 사용하여 원격 서비스와 통신합니다. RemoteObject는 BlazeDS, LiveCycle Data Services, ColdFusion 및 기타 서버 측 소프트웨어를 사용하여 AMF 및 Flash Remoting을 지원합니다.

서버에 원격 호출 할 때 해당 요청은 표준 웹 페이지 호출과 다를 수 없습니다. 그것은 "격리"상태로 존재하며 다른 호출에 대해서는 아무 것도 모릅니다. 전통적인 HTML 개발에서는 세션 쿠키를 사용하여 'stateless'클라이언트에서 서버 세션을 추적합니다. Flex 호출에 대해서도 마찬가지입니다. 서버가 클라이언트에 쿠키를 설정하면; Flash Player에는 각 요청에 해당 쿠키가 포함됩니다. 서비스 호출을 서버 측 세션과 일치시킵니다.

각 호출에서 개체를 만들지 여부는 원격 호출이 수행하는 작업에 따라 다릅니다.

AMF/RemoteObject가 제공하는 이점은 서버 측 객체 (Java 클래스)를 클라이언트 측 객체 (ActionSCript 클래스)로 쉽게 변환 할 수 있다는 것입니다. 이것은 주로 두 개의 다른 엔터티간에 데이터를 전달하는 데 사용됩니다. 보통 사람들은이를 위해 값 객체/데이터 전송 객체를 만듭니다. 그러나 클래스는 동일한 정확한 기능을 가질 수 있습니다. Flex와 Java에서 동일한 객체가 존재하는 것과는 다릅니다.

도움이 되었습니까?

+0

감사합니다. 나는 게으르다가 단지 자바 클래스를 던져서 같은 방식으로 작업 할 수 있기를 바랬다. 수업을 가져 주셔서 감사합니다. 매우 간단 명료하게 "내가 어떻게 다른 곳에서 찾을 수없는 방식으로이 작품"질문에 대답했다. – Greg

+0

도움이되기를 기뻐함 – JeffryHouser

관련 문제